声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1080|回复: 10

[综合讨论] matlab 循环的问题!

[复制链接]
发表于 2008-6-22 17:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我想用matlab循环求积分。并把结果保存在文件中,怎么办?

   我的积分函数中含参数a.
  f.m如下:
   y=f(x,a)
   y=a*x;

循环求积分为:

  for i=1:10
     a=i;
     quad8(f(x,a),0,i);
end

类似这种情况。如何把参数a传进来。

最后,结果怎样写成.txt文件。
回复
分享到:

使用道具 举报

发表于 2008-6-22 18:06 | 显示全部楼层

回复 楼主 的帖子

请搜索精华贴

带参数积分
 楼主| 发表于 2008-6-22 18:16 | 显示全部楼层
多谢楼上,怎么把结果写到文件里啊!
发表于 2008-6-22 18:35 | 显示全部楼层

回复 3楼 的帖子

同样搜索精华贴

txt文件读取技巧

评分

1

查看全部评分

 楼主| 发表于 2008-6-23 14:22 | 显示全部楼层
搜索了,似乎都是读文件的,怎么往里写啊
发表于 2008-6-23 15:02 | 显示全部楼层

回复 5楼 的帖子

help  fopen 等

你就不能变通一下
 楼主| 发表于 2008-6-23 16:05 | 显示全部楼层
惭愧,刚开始学。:@L :@L
 楼主| 发表于 2008-6-23 16:21 | 显示全部楼层
fid = fopen('C:\MATLAB7\work\exp.txt','w');
for i=1:l0
    y(i)=i;
    fprintf(fid,'%6.2f %12.8f\n',y);
end
fclose(fid)

通过debug-----run,运行之后,找不到exp.txt文件  怎么回事!!!
 楼主| 发表于 2008-6-23 17:03 | 显示全部楼层
clear all
k=linspace(0,5);
for i=1:length(k)
    kk=k(i);
    fun=strcat('sin(',num2str(kk),'*x).*x.^2');
    y(i)=quadl(inline(fun),1,5);
end
plot(k,y)

如果fun是非常复杂的函数,这样写太麻烦了,能不能写成函数文件。fun(kk,x).
然后在循环中改变kk。
 楼主| 发表于 2008-6-23 17:48 | 显示全部楼层
clear all
k=linspace(0,5);
for i=1:length(k)
kk=k(i);
y(i)=quadl(inline(strcat('shiyan(',num2str(kk),',x)')),0,kk);
end

这样也是可以的,其中shiyan(k,x)为定义的函数sin(k*x)*x^2

:lol :lol

评分

1

查看全部评分

 楼主| 发表于 2008-6-23 17:49 | 显示全部楼层
如果遇到函数中不止一处包括k的情况,那就可以写成函数,而不必每个k都需要 num2str(k)了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-10-2 03:34 , Processed in 0.062592 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表