1樓:匿名使用者
在matlab中,數值計算直接輸入你的命令,matlab會給出相應的數值結果。而符號計算需要事先定義符號,用syms命令,計算後結果為符號公式。
2樓:端奕琛斯昭
數值計算時matlab的優勢所在,大部分工程問題也只能得到數值解符合運算
即解析運算
得到解析式子
例如:傅立葉變換
fourier
是符號運算
fft是數值運算
matlab中數值運算與符號運算有何異同
3樓:淚之夢幻
數學計算有數值計算與符號計算之分。這兩者的根本區別是 : 數值計算的表示式、矩陣變數中不允許有未定義的自由變數 , 而符號計算可以含有未定義的符號變數。
對於一般的程式設計軟體如 c, c + + 等語言實現數值計算還可以 , 但是實現符號計算並不是一件容易的事。而 matlab 自帶有符號工具箱 symbolic math tooibox , 而且可以藉助數學軟體 maple, 所以 matlab 也具有強大的符號運算功能。
一、 字串的定義
matlab 用單引號來定義字串。例如在指令視窗輸入:a= 』hello, this is a string』 ,則會輸出 a=hello, this is a string
二、 定義符號變數與符號表示式
在 matlab 指令視窗,輸入的數值變數必須提前賦值,否則會提示出錯。只有符號變數可以在沒有提前賦值的情況下合法地出現在表示式中,但是符號變數必須預先定義。
在 matlab 的資料型別中 , 字元型與符號型是兩種重要而又容易混淆的資料型別。
符號變數是利用指令 sym 和 syms 來建立 .
它們的使用格式為 :
s = sym( ′ a ′ ) 定義單個符號變數 s
syms a b c 定義多個符號變數 a, b, c
syms 命令的使用要比 sym 簡便 , 它一次可以定義多個符號變數 , 而且格式簡練。因此一般用 syms 來建立符號變數。注意各符號變數之間必須是空格隔開。
語句 syms x y z w
表示將 x,y,z 和 w 定義為符號變數。如果再輸入: p=sin(x)+cos+z+2*w, 是執行後 p 就表示表示式 sin(x)+cos(x)+z+2*w
三、 將數值表示式轉換為符號表示式
命令 sym 可將數值表示式轉成符號表示式,其語法為:
sym(『 數值表示式 』)
例如,在指令視窗輸入:
p=sym(『2+sqrt(5)』)
則得到輸出:
p=2+sqrt(5) ,此時p是一個符號表示式,而不是一個數值表示式。
四、 計算符號表示式的值
如果要計算前面的符號表示式p的值,則需要用 eval_r(p) 來計算p的近似值。即可輸入:
eval_r(p)
得到輸出: ans=4.2361
由於 p=sym(『2+sqrt(5)』) 實際上是一個符號常數,所以也可以用 vpa 命令計算。
五、數值變數、符號變數、字元變數的相互轉化
數值變數、符號變數、字元變數的相互轉化在 matlab 工作空間中 , 數值、符號和字元是 3 種主要的資料型別。
matlab 可以利用命令來實現不同型別資料間的轉換。
4樓:匿名使用者
數值運算:求出具體的數值,不含符號。(如解方程,求出未知數=1.565656 ,不是未知數=ab+c)
符號運算:結果用符號表示。
許多問題,只有數值解,沒有符號解。
5樓:匿名使用者
沒覺得有什麼值得注意的啊
只不過matlab有計算符號的功能吧,可以自動合併同類項,化簡式子什麼的。
別的軟體沒這樣的。
寫出非線性方程,積分,微分方程的matlab數值計算和符號計算的方法.
6樓:
這麼複雜的問題。你分開問或許還有人答。
數值方法:
解非線性方程(組)用fsolve
解一階常微分方程(組)用ode系列函式
符號計算方法:
解非線性方程(組)用solve
解常微分方程(組)用dsolve
7樓:匿名使用者
微分方程初值問題數值解法,主要介紹了求解常微分方程的matlab符號法、常微分方程數值解的基本原理等內容;第7章為非線性方程求解,主要介紹了求解非線性方程的matlab符號
關於大學裡面計算方法(數值分析)中,解線性方程組,利用到雅可比迭代和sor迭代的利用matlab求解問題
8樓:匿名使用者
下面是我寫的,放心用去啦~~~
%超鬆弛迭代(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);
endend
if abs(a(i,i))<1e-10|k==maxl
flag='failure';return;
endz=z/a(i,i);x(i)=(1-w)*x(i)+w*z;
endif norm(y-x,inf) break; endk=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); endend if abs(a(i,i))<1e-10|k==maxl flag='failure';return; endy(i)=y(i)/a(i,i); endif norm(y-x,inf) break; endx=y; k=k+1; end稍微除錯肯定可以通過,都是經過測試的,記得給我分數呦,謝啦~~~ 9樓:匿名使用者 不好意思,我只有數值分析第五版的答案!呵呵 如何用matlab解符號方程組 10樓:匿名使用者 方程組為非線性方程組,可以用fsolve函式求數值解 什麼是matlab數值計算概念 11樓:匿名使用者 《matlab數值計算方法》系統地介紹了常見數學問題的各種數值解法及其內在的邏輯聯絡,並用matlab作為演算法實現工具,為快速掌握理論打下堅實的基礎。《matlab數值計算方法》共分10章,主要內容包括matlab概論、matlab基礎知識、matlab資料的圖形表示、插值法和資料擬合、數值積分、常微分方程初值問題數值解法、非線性方程求解、求解線性代數方程組和計算矩陣特徵值的迭代法、線性方程組的數值解法,以及matlab在數值計算中的綜合應用。(如果對你有幫助,請設定「好評」,謝謝!) 12樓:昱婷漫步 數值計算是相對於符號運算來將的,得到數值解,符號運算可以得到解析式結果。 例如求兩個訊號sin(x)和cos(x)之和,符號運算可以得到sin(x)+cos(x),數值計算則需要提供兩個數值向量,求和,得到一個數值型的向量。 matlab 符號方程結果怎麼變成數值? 13樓:屈國慶四川巴中 在你的語言後面加上一句 eval(h); 就可以了,效果見下圖 14樓:mcr董事長 h=solve('1+a*x+b*x^2+c*x^3=0'); a=1; b=2; c=3; eval(h) ans = -0.7839 0.0586 + 0.6495i 0.0586 - 0.6495i 或者>> subs(h) ans = -0.7839 0.0586 + 0.6495i 0.0586 - 0.6495i 15樓:轉基因牛 a=a(1); b=a(2); c=a(3); syms x; d = 1+a*x+b*x^2+c*x^3; h=solve(d) subs 函式,我也是今天才看到的 subs a b,a,2 就是把a b裡面的a用2替換 subs x y,y,3 就是把x y裡面的y用3替換 大家好matlab中符號運算和數值運算的區別是什麼 兩者的根本區別是 數值計算的表示式 矩陣變數中不允許有未定義的自由變數 而符號計算可以含有未定義的符... 試試以下兩種方法,肯定有可以的 1 double lamd 2 eval lamd 不行可以找我,可以的話求採納 你試試這個eval lamd 因為我不知道你的資料什麼型別,不好判斷,我估計這個函式差不多 matlab中如何進行結果化簡?30 matlab符號數學工具箱提供的兩個化簡函式simpli... help一下 抄襲set函式然 後看一下例子 link?url awdxr56mrhcglekazrn2sjgdvlyplr4tvo8xpl9mk wb5p3msbwh0e0btj4sdg vuhvn0fzza7nqs t upkgn matlab實現矩陣裡數值的大小對應顏色的深淺 資料如果存在矩陣...matlab符號運算帶入數值,大家好matlab中符號運算和數值運算的區別是什麼
matlab進行數值計算,化簡的問題
在matlab中怎麼給點的數值以顏色深淺來表示並附上題目