早教吧作业答案频道 -->其他-->
matlab 关于求偏导数具体值的问题以下是代码:num = 100;for i=1:numa(i) = sym (['a',num2str(i)]);%数组变量endy=a(1) ;for i=2:numy=y*a(i) ; %y=a1*a2*a3*...*a_numendf=diff(y,a(1));% 求y对a1的偏导%f=a2*a3*...*a_numfor i = 2:100a(
题目详情
matlab 关于求偏导数具体值的问题
以下是代码:
num = 100;
for i=1:num
a(i) = sym (['a',num2str(i)]);%数组变量
end
y=a(1) ;
for i=2:num
y=y*a(i) ; %y=a1*a2*a3*...*a_num
end
f=diff(y,a(1));% 求y对a1的偏导
%f=a2*a3*...*a_num
for i = 2:100
a(i)=1; %a2=a3=a4=...=a_num=1
end
ff=subs(f);%将值带入f求y对a1偏导的具体值,结果应为1
disp(ff);
%但输出结果仍为:a2*a3*...*a_num
该如何进行变量的赋值?
如何解决呢?
以下是代码:
num = 100;
for i=1:num
a(i) = sym (['a',num2str(i)]);%数组变量
end
y=a(1) ;
for i=2:num
y=y*a(i) ; %y=a1*a2*a3*...*a_num
end
f=diff(y,a(1));% 求y对a1的偏导
%f=a2*a3*...*a_num
for i = 2:100
a(i)=1; %a2=a3=a4=...=a_num=1
end
ff=subs(f);%将值带入f求y对a1偏导的具体值,结果应为1
disp(ff);
%但输出结果仍为:a2*a3*...*a_num
该如何进行变量的赋值?
如何解决呢?
▼优质解答
答案和解析
把
for i = 2:100
a(i)=1; %a2=a3=a4=...=a_num=1
end
改成
for i = 2:100
eval(['a',num2str(i) '=1;'])
end
你原来的写法是把数组a的第2到第100个元素(即a(2)-a(100))赋值为1,而符号变量a2-a100仍然存在.
for i = 2:100
a(i)=1; %a2=a3=a4=...=a_num=1
end
改成
for i = 2:100
eval(['a',num2str(i) '=1;'])
end
你原来的写法是把数组a的第2到第100个元素(即a(2)-a(100))赋值为1,而符号变量a2-a100仍然存在.
看了 matlab 关于求偏导数具...的网友还看了以下:
在下面循环语句中内层循环体S语句的执行总次数为()。在for(inti=0;i<n;i++)for 2020-05-14 …
大学VF程序设计题看不懂,1、 求[10,1000]内所有能被被7和9中至少一个数整除的整数之个数 2020-05-16 …
C语言问题关于素数voidnum(intm,intk,intxx[]){intdata=m+1;i 2020-05-17 …
求下列程序段的时间复杂度,1.for(i=1;i<=n;i++)for(j=1;j<=i;j++) 2020-06-15 …
matlab图像处理,提取图片的高频分量!我是这样写的:function gOK=laplace( 2020-06-27 …
这个程序要求是输出m个数中任取n个数的所有组合,我要抓狂了==#include;#includei 2020-06-28 …
C语言冒泡排序法,疑问啊~~~~~~~~~~~~~~~~~#include<stdio.h>#de 2020-07-23 …
#includemain(){chars[]="012xyz\08s34f4w2";inti,n= 2020-07-23 …
101到200之间有多少个素数并输出所有素数(老师让逐句解释,希望大侠帮忙)对了追加20分人品保证 2020-07-23 …
求出用数字0至9组成的没有重复数字的三位偶数,并以每行10个数输出这些数.我的程序有个错误,求帮忙 2020-07-23 …