How do i multiply 2 increasing variables
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ilker Enes Çirkin
am 14 Aug. 2020
Kommentiert: Shae Morgan
am 14 Aug. 2020
Hello everyone i was wondering if u could help me multiply these two increasing variables. They just do not multiply correctly
v0 = (10:1:20);
theta = (30:1:40);
v0_x = v0.*cosd(theta);
v0_y = v0.*sind(theta);
6 Kommentare
Sara Boznik
am 14 Aug. 2020
for v0 = 10:1:20;
for theta = 30:1:40;
v0_x = v0.*cosd(theta)
v0_y = v0.*sind(theta)
end
end
Do you need this?
Akzeptierte Antwort
Shae Morgan
am 14 Aug. 2020
Bearbeitet: Shae Morgan
am 14 Aug. 2020
Is this more what you were looking for?
v0 = (10:1:20);
theta = (30:1:40);
for i= 1:length(v0)
for j = 1:length(theta)
v0_x(i,j)=v0(i)*cosd(theta(j));
v0_y(i,j)=v0(i)*sind(theta(j));
end
end
v0_x
v0_y
4 Kommentare
Shae Morgan
am 14 Aug. 2020
meshgrid() is another great solution here
x=[1 2 3]; %x array
y=[3 2 1]; %y array
[X,Y]=meshgrid(x,y)
%X is a length(y) long set rows of x
%Y is a length(x) long set of columns of y
using these matrices with the point multiplication will give the same outcome. The for-loops feel more intuitive and are visually understandable as you read through the code, but meshgrid requires fewer lines and a little more understanding of what it's doing.
In the end it's preference. I prefer code readability (or familiarizing yourself with new functions so you can improve readability!)
Weitere Antworten (1)
Bruno Luong
am 14 Aug. 2020
Bearbeitet: Bruno Luong
am 14 Aug. 2020
v0 = (10:1:20);
theta = (30:1:40);
v0_x = v0.*cosd(theta.'); % horizontal .* vertical vectors
v0_y = v0.*sind(theta.');
0 Kommentare
Siehe auch
Kategorien
Mehr zu Assumptions finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!