早教吧作业答案频道 -->其他-->
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 关于求偏导数具...的网友还看了以下:
已知数集A={a1,a2,…,an}(1=a1<a2<…<an,n≥4)具有性质P:对任意的k(2 2020-05-14 …
(2011•湖南)对于n∈N+,将n表示n=a0×2k+a1×2k-1+a2×2k-2+…+ak- 2020-06-12 …
不等式已知ai属于R+(i=1,2.n)且a1+a2+...+an=1,求证a1\(1+a2+a3 2020-07-09 …
i=0;if(a1==1){i=i+1;}if(a2==3){i=i+1;}if(a3==3){i 2020-07-09 …
对于n∈N+,将n表示为n=a0×2k+a1×2k-1+a2×2k-2+…+ak-1×21+ak× 2020-07-09 …
数字1,2,3,…,n(n≥2)的任意一个排列记作(a1,a2,…,an),设Sn为所有这样的排列 2020-07-26 …
若有穷数列a1,a2,a3,…,an(n是正整数),满足a1=an,a2=an-1,…,an=a1 2020-08-02 …
已知无穷等差数列{an}的公差为d,且各项均为正数,给出方程aix^2+2a(i+1)x+a(i+ 2020-08-02 …
复平面内若复数z=a2(1+i)-a(4+i)-6i所对应的点在第二象限则实数a的取值范围是()A. 2020-10-30 …
现有100个整数a1.a2.a3...a100,同时满足下列三个条件:①-1≤ai≤1(i=1.2. 2020-11-01 …