function [alpha,N,U]=youxianchafen2(r1,r2,up,under,num,deta) %[alpha,N,U]=youxianchafen2(a,r1,r2,up,under,num,deta) %該函數用有限差分法求解有兩種介質的正方形區域的二維拉普拉斯方程的數值解 %函數返回迭代因子、迭代次數以及迭代完成后所求區域內網格節點處的值 %a為正方形求解區域的邊長 %r1,r2分別表示兩種介質的電導率 %up,under分別為上下邊界值 %num表示將區域每邊的網格剖分個數 %deta為迭代過程中所允許的相對誤差限 n=num+1; %每邊節點數 U(n,n)=0; %節點處數值矩陣 N=0; %迭代次數初值 alpha=2/(1+sin(pi/num));%超松弛迭代因子 k=r1/r2; %兩介質電導率之比 U(1,1:n)=up; %求解區域上邊界第一類邊界條件 U(n,1:n)=under; %求解區域下邊界第一類邊界條件 U(2:num,1)=0;U(2:num,n)=0; for i=2:num U(i,2:num)=up-(up-under)/num*(i-1);%采用線性賦值對上下邊界之間的節點賦迭代初值 end G=1; while G>0 %迭代條件:不滿足相對誤差限要求的節點數目G不為零 Un=U; %完成第n次迭代后所有節點處的值 G=0; %每完成一次迭代將不滿足相對誤差限要求的節點數目歸零 for j=1:n for i=2:num U1=U(i,j); %第n次迭代時網格節點處的值 if j==1 %第n+1次迭代左邊界第二類邊界條件 U(i,j)=1/4*(2*U(i,j+1)+U(i-1,j)+U(i+1,j)); end if (j>1)&&(j U2=1/4*(U(i,j+1)+ U(i-1,j)+ U(i,j-1)+ U(i+1,j)); U(i,j)=U1+alpha*(U2-U1); %引入超松弛迭代因子后的網格節點處的值 end if i==n+1-j %第n+1次迭代兩介質分界面(與網格對角線重合)第二類邊界條件 U(i,j)=1/4*(2/(1+k)*(U(i,j+1)+U(i+1,j))+2*k/(1+k)*(U(i-1,j)+U(i,j-1))); end if j==n %第n+1次迭代右邊界第二類邊界條件 U(i,n)=1/4*(2*U(i,j-1)+U(i-1,j)+U(i+1,j)); end end end N=N+1 %顯示迭代次數 Un1=U; %完成第n+1次迭代后所有節點處的值 err=abs((Un1-Un)./Un1);%第n+1次迭代與第n次迭代所有節點值的相對誤差 err(1,1:n)=0; %上邊界節點相對誤差置零 err(n,1:n)=0; %下邊界節點相對誤差置零 G=sum(sum(err>deta))%顯示每次迭代后不滿足相對誤差限要求的節點數目G end
標簽: 有限差分
上傳時間: 2018-07-13
上傳用戶:Kemin
# include<stdio.h> # include<math.h> # define N 3 main(){ float NF2(float *x,float *y); float A[N][N]={{10,-1,-2},{-1,10,-2},{-1,-1,5}}; float b[N]={7.2,8.3,4.2},sum=0; float x[N]= {0,0,0},y[N]={0},x0[N]={}; int i,j,n=0; for(i=0;i<N;i++) { x[i]=x0[i]; } for(n=0;;n++){ //計算下一個值 for(i=0;i<N;i++){ sum=0; for(j=0;j<N;j++){ if(j!=i){ sum=sum+A[i][j]*x[j]; } } y[i]=(1/A[i][i])*(b[i]-sum); //sum=0; } //判斷誤差大小 if(NF2(x,y)>0.01){ for(i=0;i<N;i++){ x[i]=y[i]; } } else break; } printf("經過%d次雅可比迭代解出方程組的解:\n",n+1); for(i=0;i<N;i++){ printf("%f ",y[i]); } } //求兩個向量差的二范數函數 float NF2(float *x,float *y){ int i; float z,sum1=0; for(i=0;i<N;i++){ sum1=sum1+pow(y[i]-x[i],2); } z=sqrt(sum1); return z; }
上傳時間: 2019-10-13
上傳用戶:大萌萌撒
宏晶 STC15F2K60S2開發板配套軟件源碼 基礎例程30例/**********************基于STC15F2K60S2系列單片機C語言編程實現使用如下頭文件,不用另外再包含"REG51.H"#include <STC15F2K60S2.h>***********************/#include "STC15F2K60S2.H"//#include "REG51.H" //sfr P4 = 0xC0;#define uint unsigned int #define uchar unsigned char /**********************引腳別名定義***********************/sbit SEL=P4^3; // LED和數碼管選擇引腳 高:LED有效 低:數碼管有效 // SEL連接的單片機引腳必須為帶有上拉電阻的引腳 或將其直接連接VCC#define data P2 // 數據輸入定義 /**********************函數名稱:Delay_1ms功能描述:延時入口參數:unsigned int t 表示要延時t個1ms 出口參數:無備注:通過參數t,控制延時的時間長短***********************/void Delay_1ms(uint t){ uchar j; for(;t>0;t--) for(j=110;j>0;j--) ;}/**********************函數名稱:Led_test功能描述:對8個二極管進行測試,依次輪流點亮8個二極管入口參數:無出口參數:無備注: ***********************/void Led_test(){ uchar G_value=0x01; // 給變量賦初值 SEL=1; //高電平LED有效 while(1) { data=G_value; Delay_1ms(10000); G_value=G_value<<1; if(G_value==0x00) { data=G_value; Delay_1ms(10000); G_value=0x01; } }}/***********************主函數************************/void main(){ ///////////////////////////////////////////////// //注意: STC15W4K32S4系列的芯片,上電后所有與PWM相關的IO口均為 // 高阻態,需將這些口設置為準雙向口或強推挽模式方可正常使用 //相關IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2 // P2.3/P2.7/P3.7/P4.2/P4.4/P4.5 ///////////////////////////////////////////////// P4M1=0x00; P4M0=0x00; P2M0=0xff; P2M1=0x00; //將P2設為推挽 Led_test(); }
標簽: STC15F2K60S2
上傳時間: 2022-05-03
上傳用戶:
本源代碼是基于STM32F4xx硬件平臺設計的貪吃蛇小游戲,主要難點在:隨機點產生、貪吃蛇轉向、貪吃蛇貪吃點;本部分主要接收產生隨機點,產生隨機點需要注意兩個方面:1、隨機點在有效的范圍內;2、貪吃點與貪吃蛇不重合。產生隨機點主要有兩個函數,分別如下://隨機數產生任務void rng_chansheng(void *p_arg){OS_ERR err;while(1){OSSemPend(&RNG_SEM,0,OS_OPT_PEND_BLOCKING,0,&err);zou.x = RNG_Get_RandomRange(0,50)*8 + 40;zou.y = RNG_Get_RandomRange(0,50)*8 + 260;lcd_fangkuan(zou.x,zou.y,zou.x+SHE_FAANGKUAN_SIZE,zou.y+SHE_FAANGKUAN_SIZE);OSTimeDlyHMSM(0,0,0,500,OS_OPT_TIME_HMSM_STRICT,&err); //延時500ms}}//往下方向畫一個實心的正方形,代表貪食蛇的一段void lcd_fangkuan(u16 x1,u16 y1,u16 x2 ,u16 y2){u16 i,j;u16 xx,yy;if(((x2 - x1) != SHE_FAANGKUAN_SIZE)||((y2 - y1) != SHE_FAANGKUAN_SIZE))return ;if(x1 > x2) {xx = x1;x1 = x2;x2 = xx;}if(y1 > y2){yy = y1;y1 = y2;y2 = yy;}if((y1 < 260)|| (y2 > 660)||(x1 < 40)||(x2 > 448)){game_yun_error = 1;LCD_ShowString(150,300,500,24,24,"GAME OVER!!");return ;}for(i=x1; i<x2; i++){for(j=y1; j<y2; j++){LCD_DrawPoint(i,j);}}}
上傳時間: 2022-08-10
上傳用戶:
VIP專區-嵌入式/單片機編程源碼精選合集系列(109)資源包含以下內容:1. 包括匯編和c++編寫的萬年歷.2. FIFO(先進先出隊列)通常用于數據的緩存和用于容納異步信號的頻率或相位的差異。本FIFO的實現是利用 雙口RAM 和讀寫地址產生模塊來實現的.FIFO的接口信號包括異步的寫時鐘(wr_clk)和讀.3. Analog signals are represented by 64 bit buses. They are converted to real and from real representa.4. 該文件為lpc2106 ARM7在THREDX操作系統下的啟動代碼.5. 該代碼為時鐘芯片PCF8563的控制程序.6. 此代碼位PIC單片機的PID控溫程序.7. threadx技術手冊.8. 一個關于fat32系統文件的說明,對了解fat32文件系統系統結構很有用.9. 典型的開發模型有:①瀑布模型(waterfall model);②漸增模型/演化/迭代(incremental model);③原型模型(prototype model);④螺旋模型(spiral m.10. zigbee協議中.11. 三菱FX系列PLC與PC機通過編程口通訊的地址轉換軟件,非常的使用!.12. 文章講述了類似于PDOP值的描述整周模糊度精度的指標因子。對于整周模糊度的判斷具有重要意義。.13. 講述了如何對主引導扇區進行備份和恢復.14. LED驅動電路實例。配具體的電路圖供大家參考使用.15. Pcb初級教程.16. 嵌入式內存數據庫系統eXtremeDB用戶指南.17. 對引導區的學駐病毒進行了剖析.18. LPC2146 的USB 開發.19. 非常詳細步進電機控制原理圖.20. C++ GUI Programming with Qt 4一書中的第一章源碼.21. C++ GUI Programming with Qt 4一書中的chap02源碼.22. C++ GUI Programming with Qt 4一書中的chap03源碼.23. C++ GUI Programming with Qt 4一書中的chap05源碼.24. C++ GUI Programming with Qt 4一書中的chap06源碼.25. C++ GUI Programming with Qt 4一書中的chap07源碼.26. C++ GUI Programming with Qt 4一書中的chap8源碼.27. C++ GUI Programming with Qt 4一書中的chap9源碼.28. 具有無線網路功能下載至嵌入式開發平臺上用的.o黨 driver.29. ADI DSP ADSP-BF561原裝開發板的PCB圖,非常難得! POWERPCB 5.0可以打開..30. ADI TS201 原裝系統板PCB圖, 此PCB圖是用POWERPCB 5.0畫的, 直接導入既可打開, 目前做相控陣雷達,3G 基站,WIMAX基站等均采用ADSP-TS201..31. ADI DSP BF561 系統板原理圖,只有PDF格式的,.32. 利用89C52開發的.33. PCtoLCD2002完美版 取字模軟件.34. lm317 計算工具.35. 這是一個非常不錯的12864液晶串口程序.36. 嵌入式系統開發原理、工具及過程 值得推薦.37. minigui--面向實時嵌入式系統的圖形用戶界面。此文檔介紹了miniguide體系結構。.38. 該源碼與書本配套.39. 《EVC高級編程及其應用開發》一書的全部源代碼.40. 將MATLAB窗口畫在VC的GUI上 輕松實現用MATLAB和VC畫圖.
標簽: 網絡通信協議
上傳時間: 2013-06-12
上傳用戶:eeworm
接收機的經典電子書想學習的人多多下載對你有幫助的
標簽: 接收
上傳時間: 2013-12-25
上傳用戶:lanwei
超寬頻(UWB)無線脈衝通訊之射頻 RFIC 收發機及天線系統的研究製作
上傳時間: 2014-11-23
上傳用戶:541657925
超強的人機介面GUI 3.90A版,附原碼,不可錯過
上傳時間: 2015-07-12
上傳用戶:wang5829
DOS 串口通迅程序﹐下載BINARY 文件到單片機﹐有效驗和握手協議﹐發行版。
上傳時間: 2015-09-03
上傳用戶:caiiicc
使用 RS232串列通訊和機器人連結,並且給予Output指令去使Robot去移動
上傳時間: 2014-01-11
上傳用戶:qq1604324866