當前位置:首頁 » 編程軟體 » 數值分析編程

數值分析編程

發布時間: 2022-04-25 12:12:35

⑴ 數值分析對學計算機有什麼用途

數值分析里,有很多關於迭代的介紹,而計算機編程,對於迭代運用有著一定的要求,所以,數值分析學好以後,更方便學習計算機編程。

數值分析是是研究分析用計算機求解數學計算問題的數值計算方法及其理論的學科。以數字計算機求解數學問題的理論和方法為研究對象,為計算數學的主體部分。

(1)數值分析編程擴展閱讀:

數值分析的研究領域:

函數求值

數值分析中最簡單的問題就是求出函數在某一特定數值下的值。最直覺的方法是將數值代入函數中計算,不過有時此方式的效率不佳。像針對多項式函數的求值,較有效率的方式是秦九韶演算法,可以減少乘法及加法的次數。若是使用浮點數,很重要的是是估計及控制舍入誤差。

求解方程

求根演算法是要解一非線性方程,其名稱是因為函數的根就是使其值為零的點。若函數本身可微且其導數是已知的,可以用牛頓法求解,其他的方法包括二分法、割線法等。線性化則是另一種求解非線性方程的方法。

求解特徵值

許多重要的問題可以用奇異值分解或特徵分解來表示。例如有些圖像壓縮演算法就是以奇異值分解為基礎。統計學中對應的工具稱為主成分分析。

最優化

最優化問題的目的是要找到使特定目標函數有最大值(或最小值)的點,一般而言這個點需符合一些約束。

依目標函數及約束條件的不同,最佳化又可以再細分:例如線性規劃處理目標函數及約束條件均為線性的情形,常用單純形法來求解。若目標函數及約束條件其中有一項為非線性,就是非線性規劃的范圍。

有約束條件的問題可以利用拉格朗日乘數轉換為沒有約束條件的問題。

積分計算

數值積分的目的是在求一定積分的值。一般常用牛頓-寇次公式,包括辛普森積分法、高斯求積等。上述方式是利用分治法來處理積分問題,也就是將大范圍的積分切割成許多小范圍的積分,再進行計算。

⑵ MATLAB和數值分析應該先學習哪個

MATLAB和數值分析應該先學習哪個?
這個可以根據自己的數學基礎和編程語言的基礎來判斷:
1、如數學基礎比較好,可以先學習matlab,等基本掌握matlab操作和簡單編程,再學習數值分析
2、如已掌握matlab操作和簡單編程,則可以先學習數值分析
3、如這兩門都是初學,同時學習matlab操作和簡單編程和數值分析的初步,交叉進行

⑶ 數值分析編程matlab

數值分析有好幾塊啊。
對於積分可以看:http://www.matlabsky.com/thread-7210-1-1.html
常微分方程可以看:http://www.matlabsky.com/thread-526-1-1.html

當然還有其它的一些,看你要什麼方面的。

=============
(一題)
%(1)
clear
n=9;
[ii,jj]=meshgrid(1:n);
A=(ii+jj-1).^2;
%A=(ii+jj).^2; %(2)
%A=1./(ii+jj-1); %(3)
b=sum(A,2);

%%下面兩行是測試函數
%A=rand(n );
%b=rand(n,1);

AA=A;
bb=b;

for i=1:n-1
%選主元
[maindiag(i),index]=max(abs(A(i:end,i)));
index=index+i-1;

%交換行i<--->index
temp=A(index,: );
A(index,: )=A(i,: );
A(i,: )=temp;
temp=b(index);
b(index)=b(i);
b(i)=temp;

%消行
for j=i+1:n
temp=A(j,i)/A(i,i);
A(j,: )=A(j,: )-temp*A(i,: );
b(j )=b(j )-temp*b(i);
end
A;
end

%上三角求解
for i=n:-1:1
for j=1:i-1
temp=A(j,i)/A(i,i);
A(j,: )=A( j,: )-temp*A(i,: );
b(j )=b(j )-temp*b(i);
end
x(i)=b(i)/A(i,i);
end

maindiag %查看列主元
AA*x'-bb %由於矩陣奇異,列主元法得到的解不準確

%%(1)例在n<=6時,列主元法可行,n>6列主元法失效

============

(二題)
clear
x=-5:0.5:5;
x=x(:);
y=[0,-0.0001,-0.0002,-0.0003,-0.0004,-0.0048,-0.0366,-0.1581,-0.3679,-0.3894,0,0.3894,0.3679,0.1581,0.0366,0.0048,0.0004,0.0003,0.0002,0.0001,0];
y=y(:);

yy=[];
ii=1:2:7;
for i=1:length(ii)
p=polyfit(x,y,ii(i));
yy(:,i)=polyval(p,x);
info{i}=num2str([num2str(ii(i)),'次多項式']);
end
p=spline(x,y);
yy(:,end+1)=ppval(p,x);
info{end+1}='樣條';

info{end+1}='原始數據';

plot(x,yy,x,y,'*')
legend(info,'location','NorthWest')

⑷ 數值分析 編程

俺有。。。你可以私信俺 俺回去給你找

⑸ 數值分析編程

是這樣的嗎?

format rat
n=8 %n=20
A=zeros(n)+diag(3*ones(n,1),0)+diag(-1/2*ones(n-1,1),1)+diag(-1/4*ones(n-2,1),2)+diag(-1/2*ones(n-1,1),-1)+diag(-1/4*ones(n-2,1),-2)
%b=ones(n,1)
b=[1:n]'
x=A\b

結果:
n =

8

A =

3 -1/2 -1/4 0 0 0 0 0
-1/2 3 -1/2 -1/4 0 0 0 0
-1/4 -1/2 3 -1/2 -1/4 0 0 0
0 -1/4 -1/2 3 -1/2 -1/4 0 0
0 0 -1/4 -1/2 3 -1/2 -1/4 0
0 0 0 -1/4 -1/2 3 -1/2 -1/4
0 0 0 0 -1/4 -1/2 3 -1/2
0 0 0 0 0 -1/4 -1/2 3

b =

1
2
3
4
5
6
7
8

x =

878/1217
175/131
2343/1180
1685/644
1927/602
2143/581
416/109
1426/395

再用雅可比迭代和高斯-塞德爾迭代法求解?

⑹ 數值分析編程題跪求解答

clear
x=[.2 .4 .6 .8 1.0];
y=[0.98 0.92 0.81 0.64 0.38];
yi0=interp1(x,y,0.025,'linear')
xi=0:.02:1;
yi=interp1(x,y,xi,'linear');
zi=interp1(x,y,xi,'spline');
wi=interp1(x,y,xi,'cubic');
plot(x,y,'o',xi,yi,'r+',xi,zi,'g*',xi,wi,'k.-')
legend('原始點','線性點','三次樣條','三次多項式')

這是一點提示,自己再搞搞吧,我比較忙,要不然就幫你弄了。

熱點內容
cass配置夾面積快捷鍵是哪個 發布:2025-09-01 10:12:36 瀏覽:167
路由器上傳速度是什麼 發布:2025-09-01 10:06:55 瀏覽:899
文檔分類演算法 發布:2025-09-01 10:06:17 瀏覽:905
開拓者買哪個配置性價比高 發布:2025-09-01 10:01:55 瀏覽:51
java編譯是什麼意思 發布:2025-09-01 09:49:12 瀏覽:495
vs2010資料庫操作 發布:2025-09-01 09:34:02 瀏覽:413
秒拍緩存的視頻在 發布:2025-09-01 09:31:34 瀏覽:347
如何修改ftp配置文件失敗 發布:2025-09-01 09:26:34 瀏覽:928
劍三按鍵腳本 發布:2025-09-01 09:23:25 瀏覽:158
富媒體安卓怎麼用 發布:2025-09-01 08:48:32 瀏覽:93