function [alpha,N,U]=youxianchafen2(r1,r2,up,under,num,deta) %[alpha,N,U]=youxianchafen2(a,r1,r2,up,under,num,deta) %該函數(shù)用有限差分法求解有兩種介質(zhì)的正方形區(qū)域的二維拉普拉斯方程的數(shù)值解 %函數(shù)返回迭代因子、迭代次數(shù)以及迭代完成后所求區(qū)域內(nèi)網(wǎng)格節(jié)點處的值 %a為正方形求解區(qū)域的邊長 %r1,r2分別表示兩種介質(zhì)的電導(dǎo)率 %up,under分別為上下邊界值 %num表示將區(qū)域每邊的網(wǎng)格剖分個數(shù) %deta為迭代過程中所允許的相對誤差限 n=num+1; %每邊節(jié)點數(shù) U(n,n)=0; %節(jié)點處數(shù)值矩陣 N=0; %迭代次數(shù)初值 alpha=2/(1+sin(pi/num));%超松弛迭代因子 k=r1/r2; %兩介質(zhì)電導(dǎo)率之比 U(1,1:n)=up; %求解區(qū)域上邊界第一類邊界條件 U(n,1:n)=under; %求解區(qū)域下邊界第一類邊界條件 U(2:num,1)=0;U(2:num,n)=0; for i=2:num U(i,2:num)=up-(up-under)/num*(i-1);%采用線性賦值對上下邊界之間的節(jié)點賦迭代初值 end G=1; while G>0 %迭代條件:不滿足相對誤差限要求的節(jié)點數(shù)目G不為零 Un=U; %完成第n次迭代后所有節(jié)點處的值 G=0; %每完成一次迭代將不滿足相對誤差限要求的節(jié)點數(shù)目歸零 for j=1:n for i=2:num U1=U(i,j); %第n次迭代時網(wǎng)格節(jié)點處的值 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); %引入超松弛迭代因子后的網(wǎng)格節(jié)點處的值 end if i==n+1-j %第n+1次迭代兩介質(zhì)分界面(與網(wǎng)格對角線重合)第二類邊界條件 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 %顯示迭代次數(shù) Un1=U; %完成第n+1次迭代后所有節(jié)點處的值 err=abs((Un1-Un)./Un1);%第n+1次迭代與第n次迭代所有節(jié)點值的相對誤差 err(1,1:n)=0; %上邊界節(jié)點相對誤差置零 err(n,1:n)=0; %下邊界節(jié)點相對誤差置零 G=sum(sum(err>deta))%顯示每次迭代后不滿足相對誤差限要求的節(jié)點數(shù)目G end
標(biāo)簽: 有限差分
上傳時間: 2018-07-13
上傳用戶:Kemin
#include <stdio.h> #include <stdlib.h> #define SMAX 100 typedef struct SPNode { int i,j,v; }SPNode; struct sparmatrix { int rows,cols,terms; SPNode data [SMAX]; }; sparmatrix CreateSparmatrix() { sparmatrix A; printf("\n\t\t請輸入稀疏矩陣的行數(shù),列數(shù)和非零元素個數(shù)(用逗號隔開):"); scanf("%d,%d,%d",&A.cols,&A.terms); for(int n=0;n<=A.terms-1;n++) { printf("\n\t\t輸入非零元素值(格式:行號,列號,值):"); scanf("%d,%d,%d",&A.data[n].i,&A.data[n].j,&A.data[n].v); } return A; } void ShowSparmatrix(sparmatrix A) { int k; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { k=0; for(int n=0;n<=A.terms-1;n++) { if((A.data[n].i-1==x)&&(A.data[n].j-1==y)) { printf("%8d",A.data[n].v); k=1; } } if(k==0) printf("%8d",k); } printf("\n\t\t"); } } void sumsparmatrix(sparmatrix A) { SPNode *p; p=(SPNode*)malloc(sizeof(SPNode)); p->v=0; int k; k=0; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { for(int n=0;n<=A.terms;n++) { if((A.data[n].i==x)&&(A.data[n].j==y)&&(x==y)) { p->v=p->v+A.data[n].v; k=1; } } } printf("\n\t\t"); } if(k==1) printf("\n\t\t對角線元素的和::%d\n",p->v); else printf("\n\t\t對角線元素的和為::0"); } int main() { int ch=1,choice; struct sparmatrix A; A.terms=0; while(ch) { printf("\n"); printf("\n\t\t 稀疏矩陣的三元組系統(tǒng) "); printf("\n\t\t*********************************"); printf("\n\t\t 1------------創(chuàng)建 "); printf("\n\t\t 2------------顯示 "); printf("\n\t\t 3------------求對角線元素和"); printf("\n\t\t 4------------返回 "); printf("\n\t\t*********************************"); printf("\n\t\t請選擇菜單號(0-3):"); scanf("%d",&choice); switch(choice) { case 1: A=CreateSparmatrix(); break; case 2: ShowSparmatrix(A); break; case 3: SumSparmatrix(A); break; default: system("cls"); printf("\n\t\t輸入錯誤!請重新輸入!\n"); break; } if (choice==1||choice==2||choice==3) { printf("\n\t\t"); system("pause"); system("cls"); } else system("cls"); } }
上傳時間: 2020-06-11
上傳用戶:ccccy
新版本無人機(jī).刷機(jī)用借助此實際應(yīng)用程序,管理無人機(jī)的所有區(qū)域,例如電動機(jī),GPS,傳感器,陀螺儀,接收器,端口和固件INAV-Chrome 的配置器中的新功能:修復(fù)了導(dǎo)致加速度計校準(zhǔn)失敗的錯誤支持DJI FPV系統(tǒng)配置輸出選項卡中的怠速節(jié)氣門和馬達(dá)極現(xiàn)在可以在“混合器”選項卡中選擇“漫遊者”和“船用”平臺。 固件方面的支持仍然有限!閱讀完整的變更日誌 在過去的幾年中,無人駕駛飛機(jī)取得了相當(dāng)大的進(jìn)步,越來越多的人能夠獲取和使用無人機(jī)。 不用說,無人機(jī)可以基於特定固件在一組命令上運行。 在這方面, 用於Chrome的INAV-Configurator隨附的工具可幫助您輕鬆配置無人機(jī)的各個方面。支持多種硬件配置首先要提到的一件事是,要求Google Chrome瀏覽器能夠訪問INAV-Chrome的配置器功能。 儘管它已集成到Chrome中,但它可以作為獨立應(yīng)用程序運行,甚至可以脫機(jī)使用,而與瀏覽器無關(guān)。 您甚至可以從Google Apps菜單為其創(chuàng)建桌面快捷方式。不用說,另一個要求是實際的飛行裝置。 該應(yīng)用程序支持所有支持INAV的硬件配置,例如Sirius AIR3,SPRacingF3,Vortex,Sparky,DoDo,CC3D / EVO,F(xiàn)lip32 / + / Deluxe,DragonFly32,CJMCU Microquad,Chebuzz F3,STM32F3Discovery,Hermit ,Naze32 Tricopter框架和Skyline32。該窗口非常直觀,並提供各種令人印象深刻的提示和文檔。 在上方的工具欄上,您可以找到連接選項,這些選項可以通過COM端口,手動選擇或無線模式進(jìn)行。 您也可以選擇自動連接。 連接後,您可以在上方的工具欄中查看設(shè)備的功能,並在側(cè)面板中輕鬆瀏覽配置選項。管理傳感器,電機(jī),端口和固件本。
標(biāo)簽: configurator 無人機(jī)
上傳時間: 2022-06-09
上傳用戶:
L2_1.m: 二維迴旋積(程式) L2_2.m: 矩陣的直積(程式) L2_3.m: 馬可夫鏈的轉(zhuǎn)移機(jī)率(程式)
標(biāo)簽: 程式
上傳時間: 2013-12-14
上傳用戶:dongbaobao
(1)輸入E條弧<j,k>,建立AOE-網(wǎng)的存儲結(jié)構(gòu) (2)從源點v出發(fā),令ve[0]=0,按拓?fù)渑判蚯笃溆喔黜楉旤c的最早發(fā)生時間ve[i](1<=i<=n-1).如果得到的拓樸有序序列中頂點個數(shù)小于網(wǎng)中頂點數(shù)n,則說明網(wǎng)中存在環(huán),不能求關(guān)鍵路徑,算法終止 否則執(zhí)行步驟(3)(3)從匯點v出發(fā),令vl[n-1]=ve[n-1],按逆拓樸排序求其余各頂點的最遲發(fā)生時間vl[i](n-2>=i>=2). (4)根據(jù)各頂點的ve和vl值,求每條弧s的最早發(fā)生時間e(s)和最遲開始時間l(s).若某條弧滿足條件e(s)=l(s),則為關(guān)鍵活動.
上傳時間: 2014-11-28
上傳用戶:fredguo
頻率計程序﹐一個基于PIC單片機(jī)的頻率計程序和電路圖。
上傳時間: 2013-12-26
上傳用戶:liansi
slickeditv10.0linuxcrackz.w.t.zip SlickEdit v10.0 for linux 注冊機(jī) 在國內(nèi)網(wǎng)站上找了N天都沒找到,在國外一家網(wǎng)站找到。雖然不是源代碼,但是SlickEdit是Linux下最好用的30多種編程IDE。這個是注冊機(jī)安裝文件在百度裡找吧
標(biāo)簽: 10.0 linuxcrackz slickeditv SlickEdit
上傳時間: 2013-12-10
上傳用戶:大融融rr
一個手機(jī)程序(電子詞典),一個不可多得的源碼程序,是學(xué)習(xí)J2ME的好東東.
上傳時間: 2013-12-12
上傳用戶:silenthink
針對dBm及volts及watts轉(zhuǎn)換,適用於電子業(yè)界工程師
上傳時間: 2015-08-31
上傳用戶:wangyi39
本書以最新的資訊家電、智慧型手機(jī)、PDA產(chǎn)品為出發(fā)點,廣泛並深入分析相關(guān)的嵌入式系統(tǒng)技術(shù)。 適合閱讀: 產(chǎn)品主管、系統(tǒng)設(shè)計分析人員、欲進(jìn)入此領(lǐng)域的工程師、大專院校教學(xué). 本書效益: 為開發(fā)嵌入式系統(tǒng)產(chǎn)品必備入門聖經(jīng) 進(jìn)入嵌入式系統(tǒng)領(lǐng)域的寶典 第三代行動通訊終端設(shè)備與內(nèi)容服務(wù)的必備知識.
上傳時間: 2015-09-03
上傳用戶:阿四AIR
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1