24小时热门版块排行榜    

查看: 2862  |  回复: 12
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

newtonnapo

木虫 (正式写手)

毛毛虫

[求助] matlab中dydt的编写要求

我编的一段程序的一部分,yeild是一个行向量,他老是说??? Error: File: F:\ivpodefun.m Line: 20 Column: 14Missing MATLAB operator.

Line: 20 Column: 14就是下面加粗的地方
for i=3:1:39
    for j=1:1:38
    if i>j+1
        sum=sum+1;
    dyeild(i)dt=dyeild(i)dt-k(sum)*yeild(i);
    dyeild(j)dt=dyeild(j)dt+k(sum)*yeild(i);
    dyeild(39+i-j)dt=dyeild(39+i-j)dt+k(sum)*yeild(i);
    else
    end
    end
end
回复此楼
攒人品。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

newtonnapo

木虫 (正式写手)

毛毛虫

我是个新手,看了半天了也没弄明白,希望大虾不吝指导啊
攒人品。
2楼2011-06-08 15:58:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

newtonnapo

木虫 (正式写手)

毛毛虫

臭水沟: 回复别人帖子时,点击“引用回复”,这样对方才能看到你的回复! 2011-06-09 09:14:27
啊?dyeild是对yeid的求导,yeild是一个很长的东西
攒人品。
4楼2011-06-09 08:49:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

newtonnapo

木虫 (正式写手)

毛毛虫

引用回帖:
Originally posted by lds588 at 2011-06-08 21:13:59:
dyeild与yeid是两个不同的数组,请问你的dyeild是否定义?

整个程序是这样的,有什么不对的吗

function dyeilddt=ivpodefun(t,yeild)
format long
sum=0;
feed=cell(1,2);
feed(1,1)={[1 1 0 0;2 1 0 0;3 1 0 0;4 1 0 0;5 1 0 0;6 1 0 0;7 1 0 0;8 1 0 0;9 1 0 0;10 1 0 0;
    11 1 0 0;12 1 0 0;13 1 0 0;14 1 0 0;15 1 0 0;16 1 0 0;17 1 0 0;18 1 0 0;19 1 0 0;20 1 0 0;
    21 1 0 0;22 1 0 0;23 1 0 0;24 1 0 0;25 1 0 0;26 1 0 0;27 1 0 0;28 1 0 0;29 1 0 0;30 1 0 0;
    31 1 0 0;32 1 0 0;33 1 0 0;34 1 0 0;35 1 0 0;36 1 0 0;37 1 0 0;38 1 0 0;39 1 0 0]};
feed(1,2)={[2 0 0 0;3 0 0 0;4 0 0 0;5 0 0 0;6 0 0 0;7 0 0 0;8 0 0 0;9 0 0 0;10 0 0 0;
    11 0 0 0;12 0 0 0;13 0 0 0;14 0 0 0;15 0 0 0;16 0 0 0;17 0 0 0;18 0 0 0;19 0 0 0;20 0 0 0;
    21 0 0 0;22 0 0 0;23 0 0 0;24 0 0 0;25 0 0 0;26 0 0 0;27 0 0 0;28 0 0 0;29 0 0 0;30 0 0 0;
    31 0 0 0;32 0 0 0;33 0 0 0;34 0 0 0;35 0 0 0;36 0 0 0;37 0 0 0;38 0 0 0;39 0 0 0]};
yeild=xlsread('F:\crack\1','Sheet1','F6:F82');
k=xlsread('F:\crack\1','Sheet1','A2:A667');
dyeilddt=zeros(77,1);
for i=3:1:39
    for j=1:1:38
    if i>j+1
        sum=sum+1;
    dyeild(i)dt=dyeild(i)dt-k(sum)*yeild(i);
    dyeild(j)dt=dyeild(j)dt+k(sum)*yeild(i);
    dyeild(39+i-j)dt=dyeild(39+i-j)dt+k(sum)*yeild(i);
    else
    end
    end
end
攒人品。
5楼2011-06-09 13:40:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

newtonnapo

木虫 (正式写手)

毛毛虫

引用回帖:
Originally posted by lds588 at 2011-06-09 13:57:06:
dydt?请问您是想对时间求导数?

en,是的
攒人品。
7楼2011-06-09 18:25:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

newtonnapo

木虫 (正式写手)

毛毛虫

引用回帖:
Originally posted by lds588 at 2011-06-09 23:11:04:
matlab 没有你想的那么智能,求导要自己写,只写dydt它是不会工作的,建议用diff函数求导,dyeild(i)dt在matlab中只能看做一个变量名,而且是错的变量名,语法有些不太合适,建议你能看点基础的书~~~
可能我这 ...

我就是在看书的啊,边看边写的。。。。
攒人品。
10楼2011-06-10 09:11:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

newtonnapo

木虫 (正式写手)

毛毛虫

大侠来啊
攒人品。
11楼2011-06-23 09:49:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 newtonnapo 的主题更新
信息提示
请填处理意见