声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: ChaChing

[综合讨论] 带积分及变参数方程如何解?

  [复制链接]
发表于 2011-4-17 12:42 | 显示全部楼层
回复 14 # rocwoods 的帖子

请问你说的“我那本书里109页”是指的哪本书呢!

点评

书已网购,写的还真不错!  发表于 2011-4-23 11:33
谢谢!  发表于 2011-4-17 14:22
《MATLAB高效编程技巧与应用:25个案例分析》http://www.chinavib.com/thread-91167-1-1.html  发表于 2011-4-17 14:15
回复 支持 反对
分享到:

使用道具 举报

发表于 2011-4-18 10:01 | 显示全部楼层
我来完成bianhome老兄剩下的工作
  1. clear;clc;close all
  2. % 解析解
  3. N = 4;
  4. rangeT = [0,0.5];
  5. k0 = linspace(-1.8,1.8,N);
  6. y = dsolve('Dy = exp(t)-(k-1)*y', 'y(0) = 0');
  7. y1 = str2func(sprintf('@(k)@(t)%s',char(y)));
  8. hold on
  9. arrayfun(@(k)fplot(y1(k),rangeT),k0,'Uni',0);
  10. % 数值解
  11. [T,Y] = arrayfun(@(k)ode45(@(t,y,k)exp(t)-(k-1)*y,rangeT,0,[],k),k0,'Uni',0);
  12. plot(cell2mat(T),cell2mat(Y),'.');
  13. title('.代表数值解,-代表解析解,k = linspace(-1.8,1.8,4)')
复制代码


复制代码



jifensolveEqutios.jpg

点评

赞成: 5.0
赞成: 5
很猛!  发表于 2011-4-18 10:12

评分

1

查看全部评分

 楼主| 发表于 2011-4-18 23:58 | 显示全部楼层

bainhome高估我了, 我最多算勤些但资质平平
第一时间, 还真没想到微分后的影响:@L, 是dsolve后发现有个C1, 才注意到的
那天问完后, 看到8F临时有事出差了, 没能马上回应说明, 刚想想还是说明下
发表于 2011-4-19 08:41 | 显示全部楼层
主任就是主任啊,呵呵,用学到了一招,谢谢!不过我把程序拷到我的matlab种运行却出现错误,不知道是怎么会是,因为对arrayfun不是很熟,请指教!
发表于 2011-4-19 08:42 | 显示全部楼层
本帖最后由 meiyongyuandeze 于 2011-4-19 08:46 编辑

不好意思,多点开了一个窗口,也删不到,烦劳主任给删除吧,以保持页面清洁!
发表于 2011-4-19 08:43 | 显示全部楼层
回复 17 # qibbxxt 的帖子

主任就是主任啊,呵呵,用学到了一招,谢谢!
不过我把程序拷到我的matlab种运行却出现错误,不知道是怎么会是,因为对arrayfun不是很熟,请指教,下面是错误信息!
  1. Warning: The input to STR2FUNC "@(k)@(t)(1/k*exp(t*k)-1/k)*exp(-(k-1)*t)" is not a valid function name. This will generate an error in a future release.
  2. ??? Undefined function or method '@(k)@(t)(1/k*exp(t*k)-1/k)*exp(-(k-1)*t)' for input arguments of type 'double'.
  3. Error in ==> @(k)fplot(y1(k),rangeT)
复制代码

点评

猜测str2func新旧版用法可能不同??  发表于 2011-4-19 11:37
2007a,不会真是版本的问题吧,好像报错是说输入的参数K时双精度型的吧!  发表于 2011-4-19 09:31
我运行没有问题啊,你用的是哪个版本的,我的是2010b版本  发表于 2011-4-19 09:29
发表于 2011-4-19 09:51 | 显示全部楼层
本帖最后由 meiyongyuandeze 于 2011-4-19 09:57 编辑

又是版本的问题,搜了下论坛,很多的帖子中讨论过。
在Chaching的帖子中,但是苦于自己没有sinwe的邀请码,一直没有注册过账号,所以。。。。。
http://forum.vibunion.com/forum-viewthread-tid-45379-highlight-%B0%E6%B1%BE.html
所以建议能不能以后在发帖时说明自己的matlab的版本,这样就可以避免一些因版本差异而产生的“错误”,就像今天一早上就在调试qibbxxt主任给的程序,原来确实版本的问题。


发表于 2011-4-21 10:47 | 显示全部楼层
学习学习!!!!!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-21 19:05 , Processed in 0.061142 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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