1樓:匿名使用者
構造一個sym型變數x:
>> x = sym('10')
x =10
檢視x的型別:
>> class(x)
ans =
sym轉換為double型:
>> y = double(x)
y =10
檢視y的型別:
>> class(y)
ans =
double
2樓:匿名使用者
double(sym型變數)
double(x)
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樓:匿名使用者
你的這種寫法是不是有問題?比如 sym 可能應該是syms、j 這個變數是不必要的、syms 函式放在迴圈裡似乎不大好(雖然對結果應該沒什麼影響)。
至於轉變,賦值語句(sum=3之類)具有最高的許可權,會無視該變數原來是什麼。
另外,對符號變數及符號函式而言,subs——替換——比較常用,比如 y=x+1,z=subs(y,x,3)得到的結果是把 x 替換成 3 並計算,即 z = 4
9樓:匿名使用者
構造一個sym型變數x:
>> x = sym('10')
x =10
檢視x的型別:
>> class(x)
ans =sym
轉換為double型:
>> y = double(x)
y =10
檢視y的型別:
>> class(y)
ans =double
matlab中怎麼把工作區中1*2sym型,變成1*10型的double型變數 10
10樓:我行我素
要看你的變數是不是數值,如是數值,可從sym變為double型。最好把程式貼出來看下。
matlab sym轉double
11樓:怡麗韙
用double函式將符號型變數變為數值型變數,要求符號變數的值是可以轉換的,而你舉的例子中x並未賦值,怎麼可能轉換?
用vpa函式沒問題,但結果應該仍然是x。
matlab如何將系統變數變成double格式的資料型別?
12樓:宇逸
你把問題寫具體吧,看到程式才能知道**錯了,給個錯誤提示沒法判斷
13樓:小兔崽汁
好像用(double)x可以,試一試吧。
matlab中怎樣把sym型變數變為double型
用double函式就可以了 double res double sym型變數 matlab中怎樣把sym型變數變為double型變數 構造一個sym型變數x x sym 10 x 10 檢視x的型別 class x ans sym轉換為double型 y double x y 10 檢視y的型別 c...
matlab中怎樣把分塊矩陣的子塊作為整體運算
我覺得您的輸bai入完全du可以使用結構陣列呀zhi。inputstruct struct zikuai1 1 2 zikuai2 3 4 比如這樣 function res example inputstruct 然後在函式體中,dao完全可以inputstruct.zikuai1,inputst...
matlab中怎麼把libsvm資料轉化成matlab格式
label vector,instance matrix libsvmread data.txt 用這個函式 data.txt是你的資料文字,label vector是類別號,instance matrix是屬性矩陣 matlab中怎麼把libsvm資料轉化成matlab格式 matlab中怎麼把l...