求大神编matlab写程序 100
求大神编matlab写程序求差分方程组的题,要求把程序段复制下来,结果截一下图,谢谢各位。第一张是题目,后面是方程式的运用讲解...
求大神编matlab写程序求差分方程组的题,要求把程序段复制下来,结果截一下图,谢谢各位。第一张是题目,后面是方程式的运用讲解
展开
2017-06-08
展开全部
循环体被执行四次,重点看循环体语句“Output=[Outputeval([Expression{i},'(',num2str(Num),')'])];”这里有两部分:1、Output=[OutputXXX],这里的中括号表示做行方向上的拼接(省略了逗号,实际可以写成 [Output,XXX])。举例自己体会一下:a = [];b = [1 2; 3 4];a = [a b]c = [5 6; 7 8];a = [a c]输出:a = 1 2 3 4a = 1 2 5 6 3 4 7 8所以这一部分代码表示不断将XXX拼接到Output的后面。备注:[Output,XXX]表示行方向上的拼接(可省略逗号,用空格隔开)[Output;XXX]表示列方向上的拼接(分号不能省略)注意逗号和分号的区别。2、eval([Expression{i},'(',num2str(Num),')'])eval函数的功能是将一个字符串等价转换为一个对应可执行的matlab语句,举例:a = 3eval('b=4')输出:a = 3b = 4可以发现第二句实际上就是执行一句MATLAB语句,即b=4。回头来看看表达式[Expression{i},'(',num2str(Num),')'],只看i为1的时候,这句相当于是['zeros','(',num2str(Num),')']上面提到中括号内用逗号隔开是做行方向上的拼接,故中括号里面都是字符串时,实际上就是做字符串的拼接。所以i为1时,这个字符串是“zeros(2)”。因此,可以看到这里随着i的变化,产生了四个字符串,即:'zeros(2)''ones(2)''rand(2)''magic(2)'然后调用evaleval('zeros(2)') -->等价于MATLAB语句zeros(2)eval('ones(2)') -->等价于MATLAB语句ones(2)eval('rand(2)') -->等价于MATLAB语句rand(2)eval('magic(2)') -->等价于MATLAB语句magic(2)这下可以理解了吧,这个循环体实际上使用MATLAB自带的矩阵函数,生成了4个特殊矩阵,每个矩阵都是2x2的,最后把这4个2x2的矩阵在行方向上拼接到一起。故最后结果是一个2x8的矩阵。
追问
不懂,可以直接写成程序段吗。
?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询