1樓:匿名使用者
你仔細觀察一下,你積分以後的常數沒有賦值,所以總是有 syms 格式的 c1 c2
現在前面 給他們賦值 在 subs()
2樓:齋帥府雨梅
使用double函式
比如>>
matlab怎樣將sym型別的資料轉換成double型
3樓:尹南飛雪
第一種:
r = double(s) converts the symbolic object s to a numeric object r.
例子如下: double(sym('(1+sqrt(5))/2')))1.6180 1.6180
第二種:
r = vpa(a)
這適用於用solve等解方程時的結果。
構造一個sym型變數x:
>> x = sym('10')
x =10
檢視x的型別:
>> class(x)
ans =sym
轉換為double型:
>> y = double(x)
y = 10
檢視y的型別:
>> class(y)
ans =double
4樓:
這眼根據你的實際情況,給你幾種解決建議。
第一種:
r = double(s) converts the symbolic object s to a numeric object r.
例子如下:
double(sym('(1+sqrt(5))/2')))1.6180
1.6180
第二種:
r = vpa(a)
這適用於用solve等解方程時的結果。
覺得有幫助,就採納吧。
如何將matlab中的sym資料型別轉換為double型
5樓:楊好巨蟹座
一般來說用dec2hex及hex2dec就可以。
ss='010600001388849c';
ssdec = hex2dec(ss);
sshex = dec2hex(ssdec);
format hex;
disp(sshex);
不過前提是你的機器能處理這麼大的數。
我用小一點的數比如說ss='01600001388849c'測試的結果是沒問題的,但是我的機器不能處理大於2^52的數,所以很抱歉無法完成你給出的這個例子。
***********************************=
補充回答:
拆分合並的方法試了試, 但是不知道你究竟要怎麼用,也沒有繼續;希望你能把問題描述的更詳細一點,特別是最終目的是幹什麼。
matlab中關於大數處理有幾個方法
1.呼叫maple核心運算,但是我的matlab版本中沒有;
2.拆分合並,ss(1)~ ss(16)依次對應'010600001388849c' 中的各個位上的數,可以考慮用上。
3.換ubuntu linux,可支援8g記憶體運算,也許可行。
4.實在沒有適合方法,就只能改演算法了。
你試試下面這樣的寫法可不可以:
a = [1; 06; 0; 0; 19; 136; 132; 156];
fwrite(s, a, 'char', 'async');
其中,a是對應你要輸入的'010600001388849c' 這個十六進位制數的十進位制表示,你用dec2hex(a)可以得到
0106
0000
1388
849c.
有可能還有問題,不過你可以嘗試在這個思路上再改改。
***********************************=
6樓:樊醉柳天致
可以直接使用double函式:
例子如下:
symn
=sym([pi
1/3]);
%生成一個符號矩陣
doublen
=double(symn)
%將符號矩陣轉換為double陣列
7樓:匿名使用者
使用double函式
比如>> root=solve('x^2+5*x-10')root =
matlab怎樣將sym型別的資料轉換成double型?
8樓:尹南飛雪
第一種:
r = double(s) converts the symbolic object s to a numeric object r.
例子如下: double(sym('(1+sqrt(5))/2')))1.6180 1.6180
第二種:
r = vpa(a)
這適用於用solve等解方程時的結果。
構造一個sym型變數x:
>> x = sym('10')
x =10
檢視x的型別:
>> class(x)
ans =sym
轉換為double型:
>> y = double(x)
y = 10
檢視y的型別:
>> class(y)
ans =double
9樓:百小度
這眼根據你的實際情況,給你幾種解決建議。第一種: r=double(s)converts the symbolic object s to a numeric object r.
例子如下: double(sym('(1+sqrt(5))/2')))1.6180 1.
6180 第二種: r=vpa(a) 這...
這眼根據你的實際情況,給你幾種解決建議。第一種: r=double(s)converts the symbolic object s to a numeric object r.
例子如下: double(sym('(1+sqrt(5))/2')))1.6180 1.
6180 第二種: r=vpa(a) 這...
matlab無法從 sym 轉換為 double
10樓:天雲一號
你的r中含有w引數,plot(x, y)畫圖時,x和y都要是確定的值
11樓:理想軍團
看不清圖. 請貼文字**
matlab中怎樣把sym型變數變為double型變數
12樓:匿名使用者
構造一個sym型變數x:
>> x = sym('10')
x =10
檢視x的型別:
>> class(x)
ans =
sym轉換為double型:
>> y = double(x)
y =10
檢視y的型別:
>> class(y)
ans =
double
13樓:匿名使用者
double(sym型變數)
double(x)
matlab無法從 sym 轉換為 double 30
14樓:匿名使用者
syms x y
t=x^2+y^2;
r=int(t,x,0,2);
r=char(r);
f1=find(r=='^');
r=[r(1:f1-1) '.' r(f1:end)];
y=linspace(0,2,100);
r=eval(r);
plot(r,y)
有償求助 。matlab 從 sym 轉換為 double 時出現以下錯誤 5
15樓:
樓上在誤人子弟,你的錯誤在於將變數表示式代入數值矩陣中,你可以在for迴圈前定義y ddd和p為變數矩陣,格式是sym y ddd p;
syms定義變數值如你寫的x
sym定義變數矩陣如y ddd p
16樓:匿名使用者
你的問題可以這樣解決。必須將syms x這個命令放在for 迴圈語句中。如 syms x 在for 迴圈語句外面,**只執行第一個迴圈,執行第二個迴圈,此時x已經不是變數了,所以就會出現錯誤。
c中無法將 int 型別隱式轉換為 string
完整 如下 using system using system.collections.generic using system.linq using system.text namespace sd a tostring c 無法將型別int隱式轉換為string怎麼解決?直接強制轉換就行了,把s...
錯誤1無法將型別「int 」隱式轉換為「int」。存在顯式轉換 是否缺少強制轉換
var votes from v in db.voteitem where v.titleid int32 parse request.querystring titleid tostring select v.itemcount sum var 是.net framework 3.5新出的一個定義...
vb如何將string型別強制轉換成int型別
val string 就行了例子private sub command1 click dim str as string str 123 dim i as integer i val str print i end sub 千鋒教育 vb將 string型別強制轉換成int型別方法一 int i s...