Code for an equation

2 views (last 30 days)
Malik Sheraz  Nazam
Malik Sheraz Nazam on 23 Jul 2019
Edited: Adam Danz on 26 Jul 2019
I want to plot y = (3.5^(-.5x))*cos(6x) for x= -2 to x= 4 with interval of 0.01 without using for loop.
Following is the code I am writing:
clc
x = [-2:.01:4];
y = (3.5.^(-.5*x))*(cos(6*x));
plot(x,y);
But I recieve this error
Error using *
Inner matrix dimensions must agree.

Accepted Answer

Aviel Moos
Aviel Moos on 23 Jul 2019
Edited: Aviel Moos on 23 Jul 2019
You need to use elementwise multimplication.
let look at this:
A = (3.5.^(-.5*x)); % Here you will get a vector with 601 elements
B = (cos(6*x)); % Here you will get also a vector with 601 elements
You cannot just multiply, You need to multiplay each element in place K of A with element in place K of B.
So just replace:
y = (3.5.^(-.5*x))*(cos(6*x));
with this:
y = (3.5.^(-.5*x)).*(cos(6*x));

More Answers (2)

Adam Danz
Adam Danz on 23 Jul 2019
y = (3.5.^(-.5*x)).*(cos(6*x));
% ^ dot
  7 Comments
Malik Sheraz  Nazam
Malik Sheraz Nazam on 26 Jul 2019
I wish I had option to accept all the answer.
You both made life easier for me.
Thanks :D
Adam Danz
Adam Danz on 26 Jul 2019
Edited: Adam Danz on 26 Jul 2019
I'm just here and help out and learn a lot in the process. Accepted answers and votes are quantitative measures of skill but your appreciation is the qualitative feedback that has a longer lasting positive effect.

Sign in to comment.


madhan ravi
madhan ravi on 23 Jul 2019

Categories

Find more on FPGA, ASIC, and SoC Development in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!