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...