Multiplying cell with a function call
Afficher commentaires plus anciens
Hi, I am facing a problem. It is being described below:
function [ryz] = ryz(a)
ryz= [(cosd(a))^2 -(cosd(a)*sind(a)) -sind(a);
sind(a) cosd(a) 0;
cosd(a)*sind(a) -(sind(a)*sind(a)) cosd(a)];
end
A= [1:6]
[m n] = size(A)
q =floor(n/3)
trips = cell(1, q+1)
for i=1:q
trips{i} = A(:,3*(i-1)+1:3*(i-1)+3);
end
**** Here a cell named trips is being produced. trips = {1 2 3}, {4 5 6} *****
d1 = cell(360,1)
for angle = 1:360
d1{angle} = trips * ryz(angle)
end
But Now an error occurs.
Operator ' * ' is not supported for operands of type 'cell'.
Error in (line 15)
d1{angle} = trips * ryz(angle)
How can I solve this error?
Réponses (1)
Jonas
le 2 Juil 2021
0 votes
trips is a cell array where each cells contains doibles you created earlier. if you want to calculate something with the content of a cell use e.g. trips{1}
2 commentaires
Durlov Rahman
le 2 Juil 2021
Modifié(e) : Durlov Rahman
le 2 Juil 2021
Jonas
le 3 Juil 2021
then tell us what exactly your desired output for one iteration of the for loop is.
Catégories
En savoir plus sur Operators and Elementary Operations dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!