How to differentiate a series of functions denoted by varying a parameter i=1,2 in (h_i)?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Asit Srivastava
le 23 Fév 2020
Commenté : Asit Srivastava
le 24 Fév 2020
I typed the following code and command window displays unrecognised function h_i. If I remove the outer loop and replace "i" with some number, say "2", then it displays unrecognised function x_j. What's the mistake?
clc
clear all
syms x_1 x_2
h_1(x_1,x_2)=x_1+(x_2)*(x_1);
h_2(x_1,x_2)=x_2+x_1*x_2^2;
for i=1:2
for j=1:2
diff(h_i,x_j)
end
end
0 commentaires
Réponse acceptée
darova
le 23 Fév 2020
Modifié(e) : darova
le 23 Fév 2020
Mistake that h_1 and h_i and different variables
m1stake = 2;
m2stake = 3;
for i = 1:2
disp(mistake) % doesn't work
end
Use arrays and cells
clc
clear all
syms x_1 x_2
h_1(x_1,x_2)=x_1+(x_2)*(x_1);
h_2(x_1,x_2)=x_2+x_1*x_2^2;
X = {x_1 x_2};
H = {h_1 h_2};
for i=1:2
for j=1:2
diff(H{i},X{j})
end
end
0 commentaires
Plus de réponses (1)
Image Analyst
le 23 Fév 2020
Don't use a loop. For just 4 cases, just write them out
h_1(x_1,x_2) = x_1 + (x_2) * (x_1);
h_2(x_1,x_2) = x_2 + x_1 * x_2^2;
diff(h_1,x_1)
diff(h_1,x_2)
diff(h_2,x_1)
diff(h_2,x_2)
3 commentaires
Image Analyst
le 23 Fév 2020
You don't have 56 separate and differently named variables, do you? If so, you really need to learn how to use arrays.
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!