展开全部
使用double函数
比如
>> root=solve('x^2+5*x-10')
root =
-5/2+1/2*65^(1/2)
-5/2-1/2*65^(1/2)
>> class(root)
ans =
sym
>> root=double(root)
root =
1.5311
-6.5311
>> class(root)
ans =
double
%by dynamic
%see also http://www.matlabsky.com
%contact me matlabsky@gmail.com
%2009.2.
%
比如
>> root=solve('x^2+5*x-10')
root =
-5/2+1/2*65^(1/2)
-5/2-1/2*65^(1/2)
>> class(root)
ans =
sym
>> root=double(root)
root =
1.5311
-6.5311
>> class(root)
ans =
double
%by dynamic
%see also http://www.matlabsky.com
%contact me matlabsky@gmail.com
%2009.2.
%
展开全部
一般来说用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)可以得到
01
06
00
00
13
88
84
9C.
有可能还有问题,不过你可以尝试在这个思路上再改改。
====================================
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)可以得到
01
06
00
00
13
88
84
9C.
有可能还有问题,不过你可以尝试在这个思路上再改改。
====================================
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以直接使用double函数:
例子如下:
symn
=
sym([pi
1/3]);
%生成一个符号矩阵
doublen
=
double(symn)
%将符号矩阵转换为double数组
例子如下:
symn
=
sym([pi
1/3]);
%生成一个符号矩阵
doublen
=
double(symn)
%将符号矩阵转换为double数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询