① matlab怎麼做數值分析
用matlab軟體做數值分析相對其他數學要方便的多,如求解非線性方程的數值解,微分方程的數值解,數學模型的預測等等多比較實用。
② 什麼是matlab數值計算概念
《Matlab數值計算方法》系統地介紹了常見數學問題的各種數值解法及其內在的邏輯聯系,並用MATLAB作為演算法實現工具,為快速掌握理論打下堅實的基礎。《Matlab數值計算方法》共分10章,主要內容包括MATLAB概論、MATLAB基礎知識、MATLAB數據的圖形表示、插值法和數據擬合、數值積分、常微分方程初值問題數值解法、非線性方程求解、求解線性代數方程組和計算矩陣特徵值的迭代法、線性方程組的數值解法,以及MATLAB在數值計算中的綜合應用。(如果對你有幫助,請設置「好評」,謝謝!)
③ 應用數值計算方法(運用MATLAB)求解帶參數的定積分
這個很簡單啊:
>> syms t x
>> int(sin(t)/t,0,x)
ans =
sinint(x)
由於 sin(t)/t 的積分沒有更簡單的初等函數表示,所以用一個專門的函數 sinint 來表達(可以doc sinint 查看該函數的說明)。
④ 求高手!!!!!!數值分析實驗用matlab計算
%選取節點
x = -1:2/19:1;
x = single(x);
%計算節點處樣本點
y = exp(x);
y = single(y);
%多項式基函數次數取值
table = [3 5 7 9 11 13 15];
cn = zeros(7,1);
sigma = zeros(7,1);
%多項式基函數次數
for m = 1:7
I = table(m);
%計算系數矩陣
G = zeros(I+1,I+1);
for i = 1:I+1
for j = 1:I+1
if (i==j)
G(i,j) = 2/(2*j-1);
else
G(i,j) = 0;
end
end
end
G = single(G);
%計算系數矩陣的條件數
cn(m) = cond(G);
%計算dd
dd = [2.3504 0.735759 0.143126 0.0201302 0.00221447 0.000199925 0.0000153007 1.01607*10^-6 5.95849*10^-8 3.12823*10^-9 1.48656*10^-10 0.*10^-12 2.57744*10^-13 0.*10^-15 0.*10^-15 0.*10^-18 0.*10^-15]
dd = single(dd);
%計算d
d = zeros(I+1,1);
for i = 1:I+1
d(i) = dd(i);
end
d=single(d);
%求解多項式系數矩陣a
a = inv(G)*d;
a = single(a);
%計算嘞讓德多項式在給定節點處的值
P = zeros(16,20);
for k = 1:20
P(1,k) = 1;
P(2,k) = x(k);
P(3,k) = (3*x(k)^2-1)/2;
P(4,k) = (5*x(k)^3-3*x(k))/2;
P(5,k) = (35*x(k)^4-30*x(k)^2+3)/8;
P(6,k) = (63*x(k)^5-70*x(k)^3+15*x(k))/8;
P(7,k) = (231*x(k)^6-315*x(k)^4+105*x(K)^2-5)/16;
P(8,k) = (429*x(k)^7-693*x(k)^5+315*x(k)^3-35*x(k))/6;
P(9,k) = (6435*x(k)^8-12012*x(k)^6+6930*x(k)^4-1260*x(k)^2+35)/128;
P(10,k) = (12155*x(k)^9-25740*x(k)^7+18018*x(k)^5-4620*x(k)^3+315*x(k))/128;
P(11,k) = (46189*x(k)^10-109395*x(k)^8+90090*x(k)^6-30030*x(k)^4+3465*x(k)^2-63)/256;
P(12,k) = (88179*x(k)^11-230945*x(k)^9+218790*x(k)^7-90090*x(k)^5+1505*x(k)^3-639*x(k))/256;
P(13,k) = (676039*x(k)^12-1939938*x(k)^10+2078505*x(k)^8-1021020*x(k)^6+225225*x(k)^4-18018*x(k)^2+231)/1024;
P(14,k) = (1300075*x(k)^13-4056234*x(k)^11+484945*x(k)^9-2771340*x(k)^7+765765*x(k)^5-90090*x(k)^3+3003*x(k))/1024;
P(15,k) = (5014575*x(k)^14-16900975*x(k)^12+22309287*x(k)^10-14549535*x(k)^8+4849845*x(k)^6-765765*x(k)^4+45045*x(k)^2-429)/2048;
P(16,k) = (9694845*x(k)^15-35102025*x(k)^13+50702925*x(k)^11-37182145*x(k)^9+14549535*x(k)^7-2909907*x(k)^5+255255*x(k)^3-6435*x(k))/2048;
end
P = single(P);
%計算擬合所得數值
yy = y;
for k = 1:20
sum3 = 0;
for i = 1:I+1
sum3 = sum3+a(i)*P(i,k);
end
yy(k) = sum3;
end
yy = single(yy);
%計算偏差sigma
for k = 1:20
sigma(m) = sigma(m)+(yy(k)-y(k))^2;
end
end
figure(1);
plot(table,log(cn))
hold on
plot(table,log(cn),'r*')
figure(2);
plot(table,sigma)
hold on
plot(table,sigma,'r*')
⑤ 數值計算方法的matlab源程序
題目是多項式插值的振盪現象,函數在[-1,1]上為y=1./(1+25*x.^2)
就此寫的程序如下:
function y=func1(x,c)
if c=1;
y=1./(1+25*x.^2);
end;
if c=2;
y=x./(1+x.^4);
end;
if c=3;
y=atan(x);
end;
運行後錯誤說明如下:
??? Error: File: func1.m Line: 2 Column: 5
The expression to the left of the equals sign is not a valid target for an assignment.
請問高手我該怎麼修改程序..問題補充:
改為c==1後,此時運行程序也是錯誤,說明如下:
Error in ==> func1 at 2
func1
⑥ 用Matlab的數值計算方法編程,在同一幅圖中畫出幾個函數圖象。在線急等,感謝高手解答。
clear all
clc
x=0:0.1:5*pi;
y1=10/sqrt(1-0.5^2)*exp(-0.5*x).*sin(5*x);
y2=10/sqrt(1-0.5^2)*exp(-0.5*x);
y3=-10/sqrt(1-0.5^2)*exp(-0.5*x)
plot(x,y1,'r-',x,y2,'g-.',x,y3,'k')
title('stuid+stuname');
xlabel('振盪時間x');
ylabel('振盪函數幅度值');
axis([0,14,-12,12]);
text(0.5*pi,10/sqrt(1-0.5^2)*exp(-0.5*0.5*pi).*sin(5*0.5*pi),'曲線f1');
text(0.3*pi,-10/sqrt(1-0.5^2)*exp(-0.5*0.3*pi),'曲線f1的包絡')
⑦ 我在學數值分析這門課,其中好多地方用到matlab,想請問關於數值分析的matlab應該怎樣學
下面是我寫的,放心用去啦~~~
%超鬆弛迭代(SOR方法)
function [x k flag]=SOR(A, b, eps ,w,maxl)
%A為方程組的系數矩陣
%b為方程組的右端向量
%eps為精度要求
%maxl為最大迭代次數,預設值為100
%w為超鬆弛因子,默認值為1
%x為方程組的解
%k為迭代次數
%flag為指標變數
%賦初值:
if nargin<5 maxl=100;end
if nargin<4 w=1;end
if nargin<3 eps=1e-5;end
n=length(b); k=0;
x=zeros(n,1); y=zeros(n,1); flag='OK';
%開始迭代:
while true
y=x; %y,z均為輔助變數
for i=1:n
z=b(i);
for j=1:n
if j~=i
z=z-A(i,j)*x(j);
end
end
if abs(A(i,i))<1e-10|k==maxl
flag='failure';return;
end
z=z/A(i,i);x(i)=(1-w)*x(i)+w*z;
end
if norm(y-x,inf)<eps
break;
end
k=k+1;
end
%Jacobi迭代法解線性方程組
function [x k flag]=Jacobi(A, b, eps ,maxl)
%A為方程組的系數矩陣
%b為方程組的右端向量
%eps為精度要求
%maxl為最大迭代次數,預設值為100
%x為方程組的解
%k為迭代次數
%flag為指標變數
%賦初值:
if nargin<4 maxl=100;end
if nargin<3 eps=1e-5;end
n=length(b); k=0;
x=zeros(n,1); y=zeros(n,1); flag='OK';
%開始迭代:
while 1
for i=1:n
y(i)=b(i);
for j=1:n
if j~=i
y(i)=y(i)-A(i,j)*x(j);
end
end
if abs(A(i,i))<1e-10|k==maxl
flag='failure';return;
end
y(i)=y(i)/A(i,i);
end
if norm(y-x,inf)<eps
break;
end
x=y; k=k+1;
end
稍微調試肯定可以通過,都是經過測試的,記得給我分數呦,謝啦~~~