please help me to correct my program

clc;
clear all;
close all;
f1=inputdlg('Enter the value of frequency f1: ');
f2=inputdlg('Enter the value of frequency f2: ');
f3=inputdlg('Enter the value of frequency f3: ');
fm=max(f1,f2);
fm1=max(fm,f3);
fs1=30*fm1;
ts1=1/fs1;
no_of_cycle=4;
t=0:ts1:no_of_cycle*(fs1/fm1)*ts1;
x=sin(2*pi*f1*t)+sin(2*pi*f2*t)+sin(2*pi*f3*t);
Their is a error message
Error using max
Invalid data type. First argument must be numeric or logical.
Error in Ex3
fm=max(f1,f2);
This message shows up when i try to publish the code
Please help me.....

 Accepted Answer

f1=str2double(inputdlg('Enter the value of frequency f1: '));
f2=str2double(inputdlg('Enter the value of frequency f2: '));
f3=str2double(inputdlg('Enter the value of frequency f3: '));
fm=max(f1,f2);
fm1=max(fm,f3);
fs1=30*fm1;
ts1=1/fs1;
no_of_cycle=4;
t=0:ts1:no_of_cycle*(fs1/fm1)*ts1;
x=sin(2*pi*f1*t)+sin(2*pi*f2*t)+sin(2*pi*f3*t)

2 Comments

what changes did u made could u please explain?
inputdlg() returns a cell array of character vectors, but your code assumed that inputdlg returned numeric values.

Sign in to comment.

More Answers (0)

Categories

Find more on Programming 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!