Undefined operator '/' for input arguments of type 'cell'.

Please help me I am a beginner. This code gives me error kindly spot the issue
syms Area length cost
prompt = {'Please Enter Value of Area in feet:'};
dlgtitle = 'Input Area';
dims = [1 45];
%k= input(prompt)
answer = inputdlg(prompt,dlgtitle,dims);
k = answer;
Area = k;
width = 20;
width = num2cell(width);
length = Area./width;
cost = 49.75.*length+ 30.*width;

 채택된 답변

Image Analyst
Image Analyst 2020년 12월 14일
Quite a few errors there. See below for the correct version:
% syms Area length cost % Not needed to declare as syms
prompt = {'Please Enter Value of Area in feet:'};
dialogTitle = 'Input Area ';
numLines = [1, 45];
userResponse = inputdlg(prompt, dialogTitle, numLines);
% Extract Area from the cell array. It will be a character so we need to call str2double().
Area = str2double(userResponse{1});
% Compute the other things.
width = 20;
theLength = Area / width;
cost = 49.75 * theLength + 30 * width;
% Show user the results.
fprintf('Area = %f square feet.\nWidth = %f feet.\nLenth = %f feet.\nCost = $%f.\n',...
Area, width, theLength, cost);
Don't declare as syms. Don't use the name of a built-in function, such as length, as a variable name.

추가 답변 (1개)

VBBV
VBBV 2020년 12월 13일
%rue
width = 20;
% width = num2cell(width);
Comment the num2cell line and try again

댓글 수: 9

its giving the same error again
VBBV
VBBV 2020년 12월 13일
편집: VBBV 2020년 12월 13일
Did you clear the input variables after changes?
VBBV
VBBV 2020년 12월 13일
Use str2num to convert the input valued to numeric before performing the ./ operation
VBBV
VBBV 2020년 12월 13일
편집: VBBV 2020년 12월 13일
%true
width = 20;
width = num2cell(width)
length =str2num(Area)./str2num(width)
cost = 49.75.*length+30.*str2num(width)
this works but value of length and width is set to NaN.
VBBV
VBBV 2020년 12월 14일
What were your input values for Area ?
VBBV
VBBV 2020년 12월 14일
편집: VBBV 2020년 12월 14일
Did it contained any characters?
%rue
width = str2num(width);
cost = 49.75.*length+30.*(width)
%true
width = 20;
width = num2cell(width)
Tlength =str2num(Area)./str2num(width)
cost = 49.75.*Tlength+30.*str2num(width)
Sorry, you have used builtin function length as variable to store values. Please change it to as above or something other than standard functions of matlab.
I changed the name now it works fine thank you so much for helping

댓글을 달려면 로그인하십시오.

카테고리

질문:

2020년 12월 13일

댓글:

2020년 12월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by