求助关于Matlab中字符串的转化问题
各位大哥大姐
老师给了小弟一个事儿做,需要用Matlab编程序,但是小弟一开始就遇到了麻烦,这个工作需要把字符串转化为可计算的数值,比如以下三组字符串数据(设为“B”)
'12-04-2010 09:23:30 31 9.982 v'
'12-04-2010 09:23:30 32 2.003 v'
'12-04-2010 09:23:30 33 -10.098 i'
我想从其中提出来两组矩阵,一组是
9.982
2.003
-10.098
另一组是函数(注意,这里不再是字符串了,需要把v和i转化为函数)
v
v
i
不知道我该用什么命令呢?
请各位大侠不吝赐教
返回小木虫查看更多
今日热帖
京公网安备 11010802022153号
各位大侠帮帮忙吧
建议你用EXCEl分列直接取出来最方便。非要编程的话,如果数据格式统一,比如寻找每个字符串中倒数第2个空格和最后一个空格之间的内容,得到'9.982','2.003','-10.098',然后用str2double将其转换为数字。
对于将v,i用函数替换查找出来后直接换就可以了。
B={'12-04-2010 09:23:30 31 9.982 v'
'12-04-2010 09:23:30 32 2.003 v'
'12-04-2010 09:23:30 33 -10.098 i'};
for i=1:length(B)
a=B{i};
t=find(a==' ');
data1=a(t(end-1):t(end));
data(i)=str2double(data1);
if (a(end))=='v'
data2(i)=sin(data(i));
elseif (a(end))=='i'
data2(i)=cos(data(i));
end
end
data'
data2'
ans =
9.9820
2.0030
-10.0980
ans =
-0.5288
0.9080
-0.7818
不知道你说的函数是什么意思,给了个例子,v的时候算sin,i的时候算cos,
求助完毕,请版主关闭此帖