How would I take the fprintf statement and values and input into a matrix?

1 view (last 30 days)
data = fopen('PH.csv');
pH = textscan(data,'%s %d','delimiter',',');
fclose(data);
rows = size(pH{1});
name = pH{1};
pH = pH{2};
for i = 1:rows
if pH(i) > 7
acid_base{i} = 'It is a base';
elseif pH(i) < 7
acid_base{i} = 'It is an acid';
else
acid_base{i} = 'It is neutral';
end
end
for i = 1:rows
fprintf('%s - pH: %d \n %s\n',name{i},pH(i),acid_base{i});
end
data = fopen('PH.csv');
pH = textscan(data,'%s %d','delimiter',',');
fclose(data);
rows = size(pH{1});
name = pH{1};
pH = pH{2};
for i = 1:rows
if pH(i) > 7
acid_base{i} = 'It is a base';
elseif pH(i) < 7
acid_base{i} = 'It is an acid';
else
acid_base{i} = 'It is neutral';
end
end
for i = 1:rows
fprintf('%s - pH: %d \n %s\n',name{i},pH(i),acid_base{i});
end

Answers (2)

Walter Roberson
Walter Roberson on 16 Apr 2018
Use sprintf to create formatted character vectors that you can store for later use.

KSSV
KSSV on 16 Apr 2018
pH = 1:14 ;
S = cell(length(pH),1) ;
for i = 1:length(pH)
    val = pH(i) ;
    if val < 7
        S{i} = sprintf('pH = %f,solution is acidic',val) ;
    elseif val ==7
        S{i} =  sprintf('pH = %f,solution is neutral',val) ;
    elseif val > 7
        S{i} =  sprintf('pH = %f,solution is basic',val) ;
    end
end

Categories

Find more on Deep Learning Toolbox 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!