Clear Filters
Clear Filters

I get Subscripted assignment dimension mismatch.

2 views (last 30 days)
I get Subscripted assignment dimension mismatch when running this program.I just want the program to ask the user the number of sinwaves he wants to plot and also the frequency and amplitude of each
clear
clc
x = input('Please input the number of sinewaves that you want to be plotted ');
T = 1:10;
for n = 1:x
f(n) = input('Please input the frequency of the wave');
A(n) = input('Please input the amplitude of the wave');
wave(n) = (A(n))*sin(2*pi*(f(n))*T);
plot(T,wave(n),'b')
grid on
hold on
xlabel('Time')
ylabel('Amplitude')
title('Sinwave')
end

Accepted Answer

Mischa Kim
Mischa Kim on 26 Oct 2016
Edited: Mischa Kim on 26 Oct 2016
Use instead
wave(n,:) = (A(n))*sin(2*pi*(f(n))*T);
plot(T,wave(n,:),'b')
You also might want to think about pre-allocating A and f.
What exactly are you trying to accomplish? I am asking because there might be more user-friendly ways of getting the values for those two vectors.
  1 Comment
Gonzalo Reina
Gonzalo Reina on 26 Oct 2016
That enough user friendly for what I am trying to do. It is just a simple program to plot graphs. Why did you change that? pd:I'm a noob for matlab

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!