24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1079  |  回复: 6

xcj3630385

木虫 (小有名气)

长江11号

[求助] Matlab 计算求助

matlab 算一个简单的计算式:y=((x2-x1)*((x1/x2)^(1/3))*2/3)+x1,我手头上有一个x1和x2的数据文本,怎么把这些对应的X1和X2都导入到matlab中,并且计算出对应的y值?如果x1和x2都变成复数形式,那又该怎么办?求详解。最好直接上程序。谢谢!
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 1.txt
  • 2012-05-20 21:46:07, 889 bytes

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

长江11号
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijie169

铜虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
xcj3630385: 金币+5, ★★★很有帮助, 很好 2012-05-21 11:13:52
首先在matlab文当前目录中新建一个func.m文件,复制如下代码后关闭文件
CODE:
     function f=func(name)
     data=load(name);
     x1=data(:,1);
     x2=data(:,2);
     f=((x2-x1).*((x1/x2).^(1/3))*2/3)+x1;
     end

name就是你的文件名字,里面的数据分为两列,第一列是x1,第二列为x2。
文件里只能有数据,你需要把那x1,x2给删除掉,至于复数,也是可行的,但是数据的复数部分用i或j表示,例如 1+2*i    2-i,这就是x1,x2.
调用,先把数据文件和func.m放在同一目录中。在命令窗口写入 func('1.txt'),1.txt是根据你的文件名字而来

» 本帖已获得的红花(最新10朵)

2楼2012-05-21 06:58:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xcj3630385

木虫 (小有名气)

长江11号

送鲜花一朵
引用回帖:
2楼: Originally posted by lijie169 at 2012-05-21 06:58:19:
首先在matlab文当前目录中新建一个func.m文件,复制如下代码后关闭文件

     function f=func(name)
     data=load(name);
     x1=data(:,1);
     x2=data(:,2);
     f=((x2-x1).*((x1/x2).^(1/3))*2/ ...

你好,首先表示感谢。我按照你的说明将程序写入,结果显示错误。
>> func('1.txt')
Warning: File: D:\Matlab\work\func.m Line: 6 Column: 6
Unmatched "end".
(Type "warning off MATLAB:m_warning_end_without_block" to suppress this warning.)
??? Error using ==> .*
Matrix dimensions must agree.

Error in ==> D:\Matlab\work\func.m
On line 5  ==>      f=((x2-x1).*((x1/x2).^(1/3))*2/3)+x1;

这个是为什么呢?另外我的最终目标是计算复数,而如果我的复数文件是4列数据,分别是x1的实部、虚部,x2的实部、虚部。分开表示。那么该怎么导入?计算结果有没有办法直接导出文件?最好能详细点。谢谢,如能回答,50金币全部赠上。
长江11号
3楼2012-05-21 11:13:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijie169

铜虫 (著名写手)

【答案】应助回帖

引用回帖:
3楼: Originally posted by xcj3630385 at 2012-05-21 11:13:10:
你好,首先表示感谢。我按照你的说明将程序写入,结果显示错误。
>> func('1.txt')
Warning: File: D:\Matlab\work\func.m Line: 6 Column: 6
Unmatched "end".
(Type "warning off MATL

没有注意一个向量除法,
CODE:
function f=func(name,flag)
     data=load(name);
  if nargin==1
     flag=0
  end
    if flag==1
     x1=data(:,1);
     x2=data(:,2);
   elseif flag==0
    x1=data(:,1)+data(:,2)*i;
     x2=data(:,3)+data(:,4)*i;
   else
     disp('1 is real funtion, 0 is image function');
     return;
   end
     f=((x2-x1).*((x1./x2).^(1/3))*2/3)+x1;
    save('data.txt','f','-ascii');

最后保存为data.txt 不知道好使不?!调用方式为fun('1.txt',0),就是复数调用方式,1是实数调用,其他的数字会没有显示。
4楼2012-05-21 12:20:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijie169

铜虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
xcj3630385: 金币+45, ★★★★★最佳答案, 太好了 2012-05-21 12:33:04
额,忘了说,对于复数,只写数字,不用写i,2个复数一共4列,1,2列为1个数的实部与虚部,3,4...
5楼2012-05-21 12:22:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xcj3630385

木虫 (小有名气)

长江11号

引用回帖:
5楼: Originally posted by lijie169 at 2012-05-21 12:22:31:
额,忘了说,对于复数,只写数字,不用写i,2个复数一共4列,1,2列为1个数的实部与虚部,3,4...

是的,与我意思是一样的,谢谢啊。
长江11号
6楼2012-05-21 12:32:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijie169

铜虫 (著名写手)

7楼2012-05-21 16:18:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xcj3630385 的主题更新
信息提示
请填处理意见