how to form a matrix with non-numeral entries and then set conditions for each case

1 view (last 30 days)
I want to form a 1*n matrix which have enries of only two cases (like h and c) which are non-numeral as below:
A[1,n]={'h','c'}
A[1,n]=[h c h h h ......c]
and then set a condition if the case is "h" or "c", like
for i=1:n
If A[1,i]==h
Statement
end
However this way of forming code is not correct
I would really appreciate if I cn have your support.
NOH=3;
NOC=2;
Tetta=70*pi/180
for i=1:NOC+NOH
A(1,i)={'h','c'};
A(1,i)=input ('Please enter orientation of ith layer:');
if A(1,i)==h
t_h(i)=0.36
else if A(1,i)==c
t_c(i)=0.85
end
end
end

Accepted Answer

Awais Saeed
Awais Saeed on 2 Sep 2021
I have made some corrections in your code
clc;clear all;close all
NOH=3;
NOC=2;
Tetta=70*pi/180
A = {}
for i=1:NOC+NOH
i
A(1,i) = input ('Please enter orientation of ith layer:');
if strcmp(A(1,i), 'h') % use strcmp to compare string
% Do not use == for string comparison
t_h(i) = 0.36
elseif strcmp(A(1,i), 'c')
t_c(i) = 0.85
end
end
  4 Comments
Awais Saeed
Awais Saeed on 2 Sep 2021
Either enter your values as 'h' or 'c' (with quote marks) or replace input with
A{1,i} = input ('Please enter orientation of ith layer:', 's');
to be able to enter h and c (without any quote marks).

Sign in to comment.

More Answers (0)

Tags

Products

Community Treasure Hunt

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

Start Hunting!