24小时热门版块排行榜    

查看: 1789  |  回复: 12

cyberspecter

至尊木虫 (职业作家)

[求助] 关于数组的下标 已有5人参与

MATLAB中的数组下标是从1开始,那么下图中问题如何编程实现?求助

关于数组的下标
2015-06-28_224941.png
回复此楼

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

guo_zy_123

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
cyberspecter: 金币+70, ★★★很有帮助 2015-07-01 22:58:46
function [y] = y(k0)

if k0==0
    y=1;
elseif k0==1
    y=0;
else
S = [];
for i = [0:1:k0]
s = Y(i,S);
S = [S s];
end
y = S(k0-1);

end

end

function  [s] = Y(k0,S)
s1=0;
if k0==0
    s=1;
elseif k0==1
    s=0;
elseif k0==2
    s=-0.65;
else
       s1=0;
       k=k0-2;
       for k2=1:k
         for k1=1:k2
             s1=-0.3/(k+1)/(k+2)*S(k1+1)*S(k2-k1+1)*S(k-k2+1)+s1;
         end
       end
    s=s1-1/(k+1)/(k+2)*S(k+1);
end
end


将这两个函数贴到1个脚本里,用matlab计算就行了,解决了那个反复递归的再计算问题,将中间变量直接存储处理的
老古董
7楼2015-07-01 11:47:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

qqinly

专家顾问 (著名写手)

至人无己,神人无功,圣人无名

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty: 谢谢应助 2015-07-04 06:17:06
xzhdty: 金币+1 2015-07-04 06:18:19
实际中Y(0)=1;Y(1)=0;程序里Y(1)=1;Y(2)=0;
实际中k1=0,k2=100;程序中k1=1,k2=101
这样就可以了,程序中下标也就是指的第几个数而已
学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?
2楼2015-06-30 13:25:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cyberspecter

至尊木虫 (职业作家)

引用回帖:
2楼: Originally posted by qqinly at 2015-06-30 13:25:05
实际中Y(0)=1;Y(1)=0;程序里Y(1)=1;Y(2)=0;
实际中k1=0,k2=100;程序中k1=1,k2=101
这样就可以了,程序中下标也就是指的第几个数而已

这个是知道的,但是里面有个k2-k1可能出现k(0),这就不好玩了。所以编程还是有些糊涂,能不能具体实现一下哩?

[ 发自小木虫客户端 ]
3楼2015-06-30 14:18:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1134684571

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
cyberspecter: 金币+50 2015-07-01 22:59:18
function  [s] = Y(k0)
s1=0;
if k0==0
    s=1;
elseif k0==1
    s=0;
elseif k0==2
    s=-0.65;
else
       s1=0;
       k=k0-2;
       for k1=1:k
         for k2=1:k1
             s1=-0.3/(k+1)/(k+2)*Y(k1)*Y(k2-k1)*Y(k-k2)+s1;
         end
       end
    s=s1-1/(k+1)/(k+2)*Y(k);
end
试一下递归调用,此程序还有问题,你自己可再修改一下。要保存维数组的的话,重新定义一个就可以。。。。
4楼2015-06-30 21:15:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qqinly

专家顾问 (著名写手)

至人无己,神人无功,圣人无名

【答案】应助回帖

引用回帖:
3楼: Originally posted by cyberspecter at 2015-06-30 14:18:37
这个是知道的,但是里面有个k2-k1可能出现k(0),这就不好玩了。所以编程还是有些糊涂,能不能具体实现一下哩?
...

呃,特例的话,可以在for循环中用if语句实现
学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?
5楼2015-06-30 23:36:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guo_zy_123

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
function [y] = y(k0)

if k0==0
    y=1;
elseif k0==1
    y=0;
else
S = [];
for i = [0:1:k0]
s = Y(i,S);
S = [S s];
end
y = S(k0-1);

end

end

function  [s] = Y(k0,S)
s1=0;
if k0==0
    s=1;
elseif k0==1
    s=0;
elseif k0==2
    s=-0.65;
else
       s1=0;
       k=k0-2;
       for k2=1:k
         for k1=1:k2
             s1=-0.3/(k+1)/(k+2)*S(k1+1)*S(k2-k1+1)*S(k-k2+1)+s1;
         end
       end
    s=s1-1/(k+1)/(k+2)*S(k+1);
end
end
老古董
6楼2015-07-01 11:45:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

【答案】应助回帖

感谢参与,应助指数 +1
可以先直接定义为递归函数,然后用递归函数赋值给数组

我用符号计算方式得到结果依次是这样的:



如果求精确解,容易看出计算量增加很快; 但如果不要精确结果,只是数值解,可以快很多;

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

ส็็็็็็็็็็็็็็็็็็็็
8楼2015-07-01 14:38:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

★ ★
xzhdty: 金币+2, 谢谢应助 2015-07-04 06:18:03
引用回帖:
8楼: Originally posted by cooooldog at 2015-07-01 14:38:58
可以先直接定义为递归函数,然后用递归函数赋值给数组

我用符号计算方式得到结果依次是这样的:

\left\{1,0,-\frac{13}{20},0,\frac{247}{2400},0,-\frac{13819}{720000},0,\frac{246103}{57600000},0,-\frac{4 ...

ส็็็็็็็็็็็็็็็็็็็็
9楼2015-07-01 14:40:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

引用回帖:
9楼: Originally posted by cooooldog at 2015-07-01 14:40:17
\left\{1,0,-\frac{13}{20},0,\frac{247}{2400},0,-\frac{13819}{720000},0,\frac{246103}{57600000},0,-\frac{45642571}{51840000000},0,\frac{12297341329}{68428800000000}\right\}...

看上去50个以后就衰减到近似于数值0了; 定义这种数列有什么意义呢?

ส็็็็็็็็็็็็็็็็็็็็
10楼2015-07-01 14:58:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 cyberspecter 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 317求调剂 +5 申子申申 2026-03-19 10/500 2026-03-20 15:58 by 蔡诚
[考研] 265求调剂 +8 梁梁校校 2026-03-17 8/400 2026-03-20 14:40 by 27道科特
[考研] 材料学硕318求调剂 +5 February_Feb 2026-03-19 5/250 2026-03-19 23:51 by 23Postgrad
[考博] 申博26年 +3 八6八68 2026-03-19 3/150 2026-03-19 19:43 by nxgogo
[考研] 一志愿北京化工大学0703化学318分,有科研经历,求调剂 +3 一瓶苯甲酸 2026-03-14 3/150 2026-03-19 15:17 by 尽舜尧1
[考研] 化学求调剂 +3 临泽境llllll 2026-03-17 4/200 2026-03-19 13:59 by houyaoxu
[考研] 一志愿 西北大学 ,070300化学学硕,总分287,双非一本,求调剂。 +3 晨昏线与星海 2026-03-19 3/150 2026-03-19 13:36 by houyaoxu
[考研] 材料考研调剂 +3 xwt。 2026-03-19 3/150 2026-03-19 11:22 by w沐阳w
[考研] 312求调剂 +8 陌宸希 2026-03-16 9/450 2026-03-18 12:39 by Linda Hu
[考研] 304求调剂 +12 小熊joy 2026-03-14 13/650 2026-03-18 12:34 by Linda Hu
[考研] 280求调剂 +6 咕噜晓晓 2026-03-18 7/350 2026-03-18 11:25 by 无际的草原
[考研] 0703化学调剂 +3 妮妮ninicgb 2026-03-17 3/150 2026-03-18 10:29 by macy2011
[考研] 301求调剂 +9 yy要上岸呀 2026-03-17 9/450 2026-03-18 08:58 by 无际的草原
[考研] 一志愿,福州大学材料专硕339分求调剂 +3 木子momo青争 2026-03-15 3/150 2026-03-17 07:52 by laoshidan
[考研] 304求调剂 +5 素年祭语 2026-03-15 5/250 2026-03-16 17:00 by 我的船我的海
[考研] 318求调剂 +3 Yanyali 2026-03-15 3/150 2026-03-16 16:41 by houyaoxu
[考研] 070303 总分349求调剂 +3 LJY9966 2026-03-15 5/250 2026-03-16 14:24 by xwxstudy
[考研] 0856求调剂 +3 刘梦微 2026-03-15 3/150 2026-03-16 10:00 by houyaoxu
[考研] 288求调剂 +4 奇点0314 2026-03-14 4/200 2026-03-14 23:04 by JourneyLucky
[考研] 招收0805(材料)调剂 +3 18595523086 2026-03-13 3/150 2026-03-14 00:33 by 123%、
信息提示
请填处理意见