MATLAB 直接以數值代替引數可以得到解,但若用賦值法則運算出錯

2025-07-14 03:35:17 字數 2304 閱讀 9606

1樓:網友

用賦值法進行運算,其solve()的表示式就不能用單引號,把表示式引起來。所以你的下一段命令這樣來寫。

clearsyms x a b c;

x=8;a,b,c]=solve(log10(c)-log10(b)-x-log10(,log10(b)-log10(a)-x-log10(,a+b+c-1)

執行結果。當然可以用vpa()函式來簡化。如。

a=vpa(a,5)a =

matlab中用solve解引數方程沒有解析解,但將引數改成數值就能解出,因此改用fsolve來求解,但初值又不確定

2樓:網友

我也遇到同樣的問題,試出來如下方法,不知現在晚了沒有?

假設其他變數都已經賦值了,你接下來只需要。

syms k1 x equa1 equa2equa1=n*k1+m*tan(k1*x);

equa2=k1-sqrt(k^2-log(r1/r2)*log(r1/r2)/x^2);

k1,x]=solve(equa1,equa2,'k1','x');

kk1=double(k1);

xx=double(x); 這兩個是把符號解變換成數值解然後就可以繼續了。

3樓:網友

1、程式開始的syms 裡面別寫 n、m、k、r1、r2 或者將n、m、k、r1、r2的值賦值給一些新的沒有syms 定義過的引數試試。

2、在solve 或者fsolve裡面最好別用字元變數。

4樓:網友

使用vpa和digits函式。

或用subs將其中的符號變數替換掉。

matlab 符號運算數值代替問題,符號識別並賦值。

5樓:網友

x1,x2已經是符號變數了吧,那麼可以直接用subs函式代入麼?

subs(f,,)

matlab 解析解轉換數值解

6樓:網友

subs 替換變數為數值。

double 將解析解符號轉變為雙精度數值。

7樓:網友

你可能誤解了解析解與數值解的**。

solve給你的是解析解,你得到解析解以後,給引數賦值,然後再使用eval()函式,即可得到結果(但不是你說的數值解)。

如果需要數值解,用積分來說吧,我們有辛普森(simposon),trapzoidal等方法,解方程還有gradient based等。

這些matlab也有相關的函式。

建議你看一本書,叫做:computaitonal methods for engineers,裡面都是用matlab實現數值解的方法。

8樓:網友

你可以自己編個演算法,比如計算方法裡講過的二分法和切線法都是數值解的解法。

9樓:網友

都有解析解了你還要數值解幹嘛?把變數帶進去不就是數了麼,不理解你是啥意思。

用matlab 的 solve 解方程要得到解析解,為什麼只返回了乙個數值解

10樓:司寇果

一般情況下不論賦多大的初值,算出始終是同樣的解。不過這個方程有若干個間斷點,賦某個初值可能只能夠求到一段上的解,因為當計算機執行到斷點上時會自動停止運算。所以要找出其間斷點,然後分開來求。

11樓:真

你確定返回的是double型而不是sym型?

matlab中解如下圖非線性方程組,使用solve只能求得字元解,如何求數值解?

12樓:匿名使用者

符號方程求解:賣豎畝solve求解代數方程,方程組用linsolve,數值解用vpasolve,格式[x1,s3,x3,x4]=vpasolve(eqns,vars,int_guess),分別是方程組,變數,初始值,纖仿具體百中森度一下用法就知道啦。

matlab中數值運算與符號運算有何異同

13樓:網友

數值運算:求出具體的數值,不含符號。(如解方程,求出未知數= ,不是未知數=ab+c)

符號運算:結果用符號表示。

許多問題,只有數值解,沒有符號解。

14樓:網友

沒覺得有什麼值得注意的啊。

只不過matlab有計算符號的功能吧,可以自動合併同類項,化簡式子什麼的。

別的軟體沒這樣的。

matlab向量中怎樣鎖定某數值的位置

用find函式,可以給出該值在這個向量中的位置 matlab中如何給一個矩陣中的某幾個特定位置賦值 用sub2ind a zeros 5 i 2 3 4 j 1 4 2 a sub2ind size a i,j 1 a 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 ...

MATLAB實現矩陣裡數值的大小對應顏色的深淺

資料如果存在矩陣a裡面 直接用imagesc a 就可以 如果想像圖中那樣用黑白灰度表示,再加一句 colormap gray 256 請問,這中馬賽克形式的填充圖要怎麼實現?非常感謝 matlab怎麼把一個矩陣輸出為一張彩色圖?顏色深淺代表元素值得大小。imagesc a colorbar a 0...

matlab求方程數值解,最後得出結果總是有問題,請問有人幫我看一下嗎,謝謝了

由於方程有多個的解,使用subs 無法用s陣列值替代 x1 x2 x3 y1 y2 y3 z1 z2 z3的值。所以最有效的方法是,直接將s陣列值賦值給 x1 x2 x3 y1 y2 y3 z1 z2 z3。按這個要求更改,可以得到a b c d的解。syms a b c d s 2,4,2 0.5...