24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1195  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zw12332111

金虫 (正式写手)

[交流] matlab函数调用不可赋值 已有1人参与

设计的function,调用fu0(800)时得到结果为:
>> c=fu0(800)

c =

23107197116.874122942902443913907*k*s^b - 18.224563066100490240746478103187*k*s^b*(1267965000.0*exp(-0.03404*t) - 49987.0*exp(-2.966*t)) + 25705.229999999999563442543148994
结果中并没有把800赋值给函数计算,不知道什么问题,请各位高手帮忙看下是什么问题,感谢了。


fuo函数为
function y=fu0(t)
syms k s b y(t);
y = vpa(dsolve(diff(y,t)==k*s^b*(786600000*exp(-0.03404*t)-2702000*exp(-2.966*t)),y(0)==25705.23));
end
回复此楼

» 猜你喜欢

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

zw12332111

金虫 (正式写手)

引用回帖:
4楼: Originally posted by somomo91 at 2017-12-30 17:52:53
嗯,这里其实就是一个变量调用,和 函数执行 的问题
上面我例子,我没在 function 里面测试,是主程序,所有的变量对于 subs 是可见的,
t = t0; 会清除上面对 t 是 sym 的声明,所以没有问题
但是到了function ...

谢谢

发自小木虫Android客户端
5楼2018-01-01 10:40:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

somomo91

专家顾问 (职业作家)

★ ★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
jjdg: 金币+2, 感谢参与 2017-12-30 18:26:42
这个是fuo函数里面转换问题

syms  y(t) 会直接把 t 也转换成 sym , 取代 前面的 赋值,比如  t=800
所以,你需要添加一个变量,
最后 用 subs 来运行

t0 = t;
syms k s b y(t);
y = vpa(dsolve(diff(y,t)==k*s^b*(786600000*exp(-0.03404*t)-2702000*exp(-2.966*t)),y(0)==25705.23));
t = t0;
subs(y)
2楼2017-12-30 08:49:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zw12332111

金虫 (正式写手)

引用回帖:
2楼: Originally posted by somomo91 at 2017-12-30 08:49:48
这个是fuo函数里面转换问题

syms  y(t) 会直接把 t 也转换成 sym , 取代 前面的 赋值,比如  t=800
所以,你需要添加一个变量,
最后 用 subs 来运行

t0 = t;
syms k s b y(t);
y = vpa(dsolve(diff(y,t) ...

大神解释的对!但是修改后还是不能赋值计算,之后修改如下:
function y= fu0(x)
syms y(t) k s b;
y=vpa(dsolve(diff(y,t)==k*s^b*(786600000*exp(-0.03404*t)-2702000*exp(-2.966*t)),y(0)==25705.23));
y=subs(y,t,x);
end
就可以了,再次感谢
3楼2017-12-30 14:04:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

somomo91

专家顾问 (职业作家)

★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
jjdg: 金币+1, 感谢参与 2017-12-30 18:26:54
引用回帖:
3楼: Originally posted by zw12332111 at 2017-12-30 14:04:39
大神解释的对!但是修改后还是不能赋值计算,之后修改如下:
function y= fu0(x)
syms y(t) k s b;
y=vpa(dsolve(diff(y,t)==k*s^b*(786600000*exp(-0.03404*t)-2702000*exp(-2.966*t)),y(0)==25705.23));
y=s ...

嗯,这里其实就是一个变量调用,和 函数执行 的问题
上面我例子,我没在 function 里面测试,是主程序,所有的变量对于 subs 是可见的,
t = t0; 会清除上面对 t 是 sym 的声明,所以没有问题
但是到了function 里面,就不同了,就会出问题
4楼2017-12-30 17:52:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿南航 335分 | 0856 | GPA 4.07 | 有科研经历 +5 cccchenso 2026-03-29 5/250 2026-03-29 11:29 by fmesaito
[考研] 一志愿郑州大学,080500学硕,总分317分求调剂 +6 举个栗子oi 2026-03-24 7/350 2026-03-29 10:39 by 唐沐儿
[考研] 调剂考研 +3 王杰一 2026-03-29 3/150 2026-03-29 08:09 by fmesaito
[考研] 356求调剂 +3 gysy?s?a 2026-03-28 3/150 2026-03-29 00:33 by 544594351
[考研] 316求调剂 +7 江辞666 2026-03-26 7/350 2026-03-28 21:28 by sanrepian
[考研] 071000生物学求调剂,初试成绩343 +7 小小甜面团 2026-03-25 7/350 2026-03-28 20:25 by 唐沐儿
[考研] 一志愿北化085600材料专硕275|有文章专利|求调剂 +7 Micky11223 2026-03-25 7/350 2026-03-28 18:34 by 无际的草原
[考研] 315分求调剂 +7 26考研上岸版26 2026-03-26 7/350 2026-03-28 04:05 by fmesaito
[考研] 275求调剂 +10 jjjjjjjjjjl 2026-03-27 10/500 2026-03-27 23:47 by barnett0632
[考研] 一志愿上海理工能源动力(085800)310分求调剂 +3 zhangmingc 2026-03-27 4/200 2026-03-27 19:01 by 给你你注意休息
[考研] 272求调剂 +7 脚滑的守法公民 2026-03-27 7/350 2026-03-27 17:23 by laoshidan
[考研] 274求调剂 +17 顾九笙要谦虚 2026-03-24 23/1150 2026-03-27 15:16 by caszguilin
[考研] 085600材料与化工调剂 +10 A-哆啦Z梦 2026-03-23 16/800 2026-03-27 15:13 by caszguilin
[考研] 复试调剂,一志愿南农083200食品科学与工程 +5 XQTJZ 2026-03-26 5/250 2026-03-27 14:49 by 狂炫麦当当
[考研] 276求调剂。有半年电池和半年高分子实习经历 +10 材料学257求调剂 2026-03-23 11/550 2026-03-27 10:13 by YCIT- LHL
[考研] 材料学硕,求调剂 6+5 糖葫芦888ll 2026-03-22 10/500 2026-03-27 08:18 by hypershenger
[考研] 304材料求调剂 +4 钟llll 2026-03-26 4/200 2026-03-27 03:42 by wxiongid
[考研] 0703化学求调剂 +3 丹青奶盖 2026-03-26 5/250 2026-03-26 20:11 by macy2011
[考研] 281求调剂 +3 亚克西good 2026-03-26 5/250 2026-03-26 19:48 by 不吃魚的貓
[考研] 085601求调剂总分293英一数二 +4 钢铁大炮 2026-03-24 4/200 2026-03-26 16:28 by dick_runner
信息提示
请填处理意见