
how to writefile string as a text-file with function
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Arif
 el 28 de Abr. de 2024
  
    
    
    
    
    Editada: Anton Kogios
      
 el 28 de Abr. de 2024
            hi guys, im trying to create files containing text which i defined by variable (see line 87).
i found error like this : 

the current result :

it is supposed to be :

HERE I GIVE MY CODE :
clear;
clc;
H = 5;
L = 15;
Ns = 2;
Nb = 1;
PortalHeight = H;
Bayspan = L;
NumberStory = Ns;
NumberBay = Nb;
% Variable1
h = [0.8,1.00,1.20,1.40,1.6,1.80];
% Variable2
Lss = [2.00,2.40,2.80,3.20,3.60,4.00];
% Variable3
Nss = [2,3,4];
% Definition
Var1HeightofTrussBeam = h;
Var2LengthSpecialSegment = Lss;
Var3NumberSpecialSegment = Nss;
% % Xbase = zeros(1,length(Totalvariant));
% % Zbase = zeros(1,length(Totalvariant));
% % Xcol = zeros(1,length(Totalvariant));
% % Zcol = zeros(1,length(Totalvariant));
% % Xos = zeros(1,length(Totalvariant));
% % Zos = zeros(1,length(Totalvariant));
% % Xss = zeros(1,length(Totalvariant));
% % Zss = zeros(1,length(Totalvariant));
% % X = zeros(1,length(Totalvariant));
% % Z = zeros(1,length(Totalvariant));
% % jointbase = zeros(1,length(Totalvariant));
% % jointcolumn = zeros(1,length(Totalvariant));
% % jointordinarysegment = zeros(1,length(Totalvariant));
% % jointtopordinarysegment = zeros(1,length(Totalvariant));
% % jointbottomordinarysegment = zeros(1,length(Totalvariant));
% % jointspecialsegment = zeros(1,length(Totalvariant));
% % jointtopspecialsegment = zeros(1,length(Totalvariant));
% % jointbottomspecialsegment = zeros(1,length(Totalvariant));
ijk = 0;
for i = 1:numel(h)
    for j = 1:numel(Lss)
        for k = 1:numel(Nss)
            ijk = ijk+1;
            Variantmodel{ijk,:} = table(ijk,h(i),Lss(j),Nss(k),'VariableNames',{'VariantID','Height','Length','Number'});
%% Cooridinate Point Base(base)
Xbase{ijk,:} = L*(0:NumberBay);
Zbase{ijk,:} = repelem(0,1,length(Xbase{ijk,:}));
%% Column(col)
Xcolumn = L*(0:NumberBay);
Zcolumn = repelem(H*(1:NumberStory),1,length(Xcolumn));
Xbotbeam = L*(0:NumberBay);
Zbotbeam = repelem((H*(1:NumberStory)-h(i)),1,length(Xbotbeam));
idx = unique(Zbotbeam(:).');
Zbottombeam{ijk,:} = idx;
% replicate [X] to be the same size as [Z] for plotting:
Xcol{ijk,:} = repmat([Xcolumn,Xbotbeam],1,NumberStory);
Zcol{ijk,:} = [Zcolumn,Zbotbeam];
%% Cooridinate Point Ordinary Segment (os)
% calculate span length of ordinary segment 
Los = (L-Lss(j))/2;
Nos = Los/h(i);
Nos = round(Nos);
los = Los/Nos;
totalspan{ijk,:} = los*Nos*2+Lss(j);
if totalspan{ijk,:} == 15.000
    checkspan{ijk,:} = "correct span";
else
    checkspan{ijk,:} = "span must be 15m";
end
% top and bottom joint of ordinary segment(os)
XTopOrdinarySegment = reshape([los*(1:Nos),(L/2+Lss(j)/2)+los*(0:Nos-1)].'+L*(0:(NumberBay-1)),1,[]);
XBottomOrdinarySegment = XTopOrdinarySegment;
ZTopOrdinarySegment = repelem(H*(1:NumberStory),1,2*Nos*NumberBay);
ZBottomOrdinarySegment = repelem(H*(1:NumberStory)-h(i),1,2*Nos*NumberBay);
% replicate [X] to be the same size as [Z] for plotting:
Xos{ijk,:} = repmat([XTopOrdinarySegment,XBottomOrdinarySegment],1,NumberStory);
Zos{ijk,:} = [ZTopOrdinarySegment,ZBottomOrdinarySegment];
%% Cooridinate Point Special Segment (ss)
% calculate span length of special segment 
lss = Lss(j)/Nss(k);
% top and bottom joint of special segment(ss)
XTopSpecialSegment = reshape((lss*(0:Nss(k))+L/2-Lss(j)/2).'+L*(0:(NumberBay-1)),1,[]);
XBottomSpecialSegment = XTopSpecialSegment;
ZTopSpecialSegment = repelem(H*(1:NumberStory),1,length(XTopSpecialSegment));
ZBottomSpecialSegment = repelem(H*(1:NumberStory)-h(i),1,length(XBottomSpecialSegment));
% replicate [X] to be the same size as [Z] for plotting:
Xss{ijk,:} = repmat([XTopSpecialSegment,XBottomSpecialSegment],1,NumberStory);
Zss{ijk,:} = [ZTopSpecialSegment,ZBottomSpecialSegment];
%% Plot Cooridinate Point (X,Z)
X{ijk,:} = [Xbase{ijk,:},Xcol{ijk,:},Xos{ijk,:},Xss{ijk,:}];
Z{ijk,:} = [Zbase{ijk,:},Zcol{ijk,:},Zos{ijk,:},Zss{ijk,:}];
scatter(X{ijk,:},Z{ijk,:},'filled'),grid on
%check angle
tangent = (Lss(j)/Nss(k))/h(i);
anglespecialsegment(ijk) = atand(tangent);
%% Name the Joint
jointbase{ijk} = table((1:numel(Xbase{ijk,:}))',Xbase{ijk,:}',Zbase{ijk,:}','VariableNames',{'ID','X','Z'});
jointcolumn{ijk} = table((max(jointbase{ijk}.ID)+1:numel(Xcol{ijk,:})+max(jointbase{ijk}.ID))',Xcol{ijk,:}',Zcol{ijk,:}','VariableNames',{'ID','X','Z'});
jointordinarysegment{ijk} = table((max(jointcolumn{ijk}.ID)+1:numel(Xos{ijk,:})+max(jointcolumn{ijk}.ID))',Xos{ijk,:}',Zos{ijk,:}','VariableNames',{'ID','X','Z'});
jointtopordinarysegment{ijk} = jointordinarysegment{ijk}(ismember(jointordinarysegment{ijk}.Z,Zcolumn),:);
jointbottomordinarysegment{ijk} = jointordinarysegment{ijk}(ismember(jointordinarysegment{ijk}.Z,Zbotbeam),:);
jointspecialsegment{ijk} = table((max(jointbottomordinarysegment{ijk}.ID)+1:numel(Xss{ijk,:})+max(jointbottomordinarysegment{ijk}.ID))',Xss{ijk,:}',Zss{ijk,:}','VariableNames',{'ID','X','Z'});
jointtopspecialsegment{ijk} = jointspecialsegment{ijk}(ismember(jointspecialsegment{ijk}.Z,Zcolumn),:);
jointbottomspecialsegment{ijk} = jointspecialsegment{ijk}(ismember(jointspecialsegment{ijk}.Z,Zbotbeam),:);
        end
    end
end
% Verify Variants Which Passed the Angle Requirement
tablecheck = table((1:numel(anglespecialsegment))',totalspan,anglespecialsegment','VariableNames',{'VariantID','Total Span','Angle'});
VariantIDPassed = tablecheck.VariantID(tablecheck.Angle>=30 & tablecheck.Angle<=60);
jointbase = table((1:numel(jointbase))',jointbase','VariableNames',{'VariantID','Joint Base'});
jointbase = jointbase(ismember(jointbase.VariantID,VariantIDPassed),:);
jointcolumn = table((1:numel(jointcolumn))',jointcolumn','VariableNames',{'VariantID','Joint Column'});
jointcolumn = jointcolumn(ismember(jointcolumn.VariantID,VariantIDPassed),:);
jointtopordinarysegment = table((1:numel(jointtopordinarysegment))',jointtopordinarysegment','VariableNames',{'VariantID','Joint Top Ordinary Segment'});
jointtopordinarysegment = jointtopordinarysegment(ismember(jointtopordinarysegment.VariantID,VariantIDPassed),:);
jointbottomordinarysegment = table((1:numel(jointbottomordinarysegment))',jointbottomordinarysegment','VariableNames',{'VariantID','Joint Bottom Ordinary Segment'});
jointbottomordinarysegment = jointbottomordinarysegment(ismember(jointbottomordinarysegment.VariantID,VariantIDPassed),:);
jointtopspecialsegment = table((1:numel(jointtopspecialsegment))',jointtopspecialsegment','VariableNames',{'VariantID','Joint Top Special Segment'});
jointtopspecialsegment = jointtopspecialsegment(ismember(jointtopspecialsegment.VariantID,VariantIDPassed),:);
jointbottomspecialsegment = table((1:numel(jointbottomspecialsegment))',jointbottomspecialsegment','VariableNames',{'VariantID','Joint Bottom Special Segment'});
jointbottomspecialsegment = jointbottomspecialsegment(ismember(jointbottomspecialsegment.VariantID,VariantIDPassed),:);
Zbottombeam{ijk} = table((1:numel(Zbottombeam{ijk,:}))',Zbottombeam{ijk,:}','VariableNames',{'VariantID','Z Bottom Beam'});
Zbottombeam = Zbottombeam(VariantIDPassed);
%% Name the Frame
% column
for i = 1:height(VariantIDPassed)
    jointIcolumn = 0;
    jointJcolumn = 0;
    jointcolumnnew{i,:} = jointcolumn.("Joint Column"){i}(ismember(jointcolumn.("Joint Column"){i}.Z,jointtopordinarysegment.("Joint Top Ordinary Segment"){i}.Z),:);
    jointcolumnnew{i,:} = vertcat(jointbase.("Joint Base"){i},jointcolumnnew{i});
    for j = 1:height(jointcolumnnew{i,1})-2
        jointIcolumn(j) = jointcolumnnew{i,1}.ID(j);
        jointJcolumn(j) = jointcolumnnew{i,1}.ID(j+2);
    end
    framecolumn{i,:} = table((1:j)',jointIcolumn',jointJcolumn','VariableNames',{'Frame ID','JointI','JointJ'});
end
%% Name the Frame
% top ordinary segment (TOS) (this phase is not automatic for different story)
for i = 1:height(VariantIDPassed)
    endTOS{i,:} = jointcolumn.("Joint Column"){i}(ismember(jointcolumn.("Joint Column"){i}.Z,jointtopordinarysegment.("Joint Top Ordinary Segment"){i}.Z),:);
    jointTOS{i,:} = vertcat(jointtopordinarysegment.("Joint Top Ordinary Segment"){i},endTOS{i});
    jointTOSnew1{i,:} = sortrows(jointTOS{i}(ismember(jointTOS{i}.Z,H),:),2);
    jointTOSnew2{i,:} = sortrows(jointTOS{i}(ismember(jointTOS{i}.Z,H*Ns),:),2);
    jointTOSnew{i,:} = vertcat(jointTOSnew1{i},jointTOSnew2{i});
end
for i = 1:height(VariantIDPassed)
    jointI = 0;
    jointJ = 0;
    for j = 1:height(jointTOSnew1{i,1})-1
        jointI(j) = jointTOSnew1{i,1}.ID(j);
        jointJ(j) = jointTOSnew1{i,1}.ID(j+1);
    end
    lastframenumber{i,:} = max(framecolumn{i,1}.("Frame ID"));
    frameTOS1{i,:} = table((lastframenumber{i}+1:lastframenumber{i}+j)',jointI',jointJ','VariableNames',{'Frame ID','JointI','JointJ'});
    %eliminate special segment
    frameTOS1{i,1}(median(1:height(frameTOS1{i,1})),:) = [];
end
for i = 1:height(VariantIDPassed)
    jointI = 0;
    jointJ = 0;
    for j = 1:height(jointTOSnew2{i,1})-1
        jointI(j) = jointTOSnew2{i,1}.ID(j);
        jointJ(j) = jointTOSnew2{i,1}.ID(j+1);
    end
    lastframenumber{i,:} = max(frameTOS1{i,1}.("Frame ID"));
    frameTOS2{i,:} = table((lastframenumber{i}+1:lastframenumber{i}+j)',jointI',jointJ','VariableNames',{'Frame ID','JointI','JointJ'});
    %eliminate special segment
    frameTOS2{i,1}(median(1:height(frameTOS2{i,1})),:) = [];
end
frameTOS = cellfun(@(varargin)vertcat(varargin{:}),frameTOS1,frameTOS2,'UniformOutput',false);
%% Name the Frame
% bottom ordinary segment (BOS) (this phase is not automatic for different story)
for i = 1:height(VariantIDPassed)
    endBOS{i,:} = jointcolumn.("Joint Column"){i}(ismember(jointcolumn.("Joint Column"){i}.Z,jointbottomordinarysegment.("Joint Bottom Ordinary Segment"){i}.Z),:);
    jointBOS{i,:} = vertcat(jointbottomordinarysegment.("Joint Bottom Ordinary Segment"){i},endBOS{i});
    jointBOSnew1{i,:} = sortrows(jointBOS{i}(ismember(jointBOS{i}.Z,Zbottombeam{i}(1)),:),2);  
    jointBOSnew2{i,:} = sortrows(jointBOS{i}(ismember(jointBOS{i}.Z,Zbottombeam{i}(2)),:),2);
    jointBOSnew{i,:} = vertcat(jointBOSnew1{i},jointBOSnew2{i});
end
for i = 1:height(VariantIDPassed)
    jointI = 0;
    jointJ = 0;
    for j = 1:height(jointBOSnew1{i,1})-1
        jointI(j) = jointBOSnew1{i,1}.ID(j);
        jointJ(j) = jointBOSnew1{i,1}.ID(j+1);
    end
    lastframenumber{i,:} = max(frameTOS{i,1}.("Frame ID"));
    frameBOS1{i,:} = table((lastframenumber{i}+1:lastframenumber{i}+j)',jointI',jointJ','VariableNames',{'Frame ID','JointI','JointJ'});
    %eliminate special segment
    frameBOS1{i,1}(median(1:height(frameBOS1{i,1})),:) = [];
end
for i = 1:height(VariantIDPassed)
    jointI = 0;
    jointJ =0;
    for j = 1:height(jointBOSnew2{i,1})-1
        jointI(j) = jointBOSnew2{i,1}.ID(j);
        jointJ(j) = jointBOSnew2{i,1}.ID(j+1);
    end
    lastframenumber{i,:} = max(frameBOS1{i,1}.("Frame ID"));
    frameBOS2{i,:} = table((lastframenumber{i}+1:lastframenumber{i}+j)',jointI',jointJ','VariableNames',{'Frame ID','JointI','JointJ'});
    %eliminate special segment
    frameBOS2{i,1}(median(1:height(frameBOS2{i,1})),:) = [];
end
frameBOS = cellfun(@(varargin)vertcat(varargin{:}),frameBOS1,frameBOS2,'UniformOutput',false);
%% Name the Frame
% top special segment (TSS) (this phase is not automatic for different story)
for i = 1:height(VariantIDPassed)
    jointTSSnew1{i,:} = sortrows(jointtopspecialsegment.("Joint Top Special Segment"){i,1}(ismember(jointtopspecialsegment.("Joint Top Special Segment"){i,1}.Z,H),:),2);
    jointTSSnew2{i,:} = sortrows(jointtopspecialsegment.("Joint Top Special Segment"){i,1}(ismember(jointtopspecialsegment.("Joint Top Special Segment"){i,1}.Z,H*Ns),:),2);
    jointTSSnew{i,:} = vertcat(jointTSSnew1{i},jointTSSnew2{i});
end
for i = 1:height(VariantIDPassed)
    jointI = 0;
    jointJ = 0;
    for j = 1:height(jointTSSnew1{i,1})-1
        jointI(j) = jointTSSnew1{i,1}.ID(j);
        jointJ(j) = jointTSSnew1{i,1}.ID(j+1);
    end
    lastframenumber{i,:} = max(frameBOS{i,1}.("Frame ID"));
    frameTSS1{i,:} = table((lastframenumber{i}+1:lastframenumber{i}+j)',jointI',jointJ','VariableNames',{'Frame ID','JointI','JointJ'});
end
for i = 1:height(VariantIDPassed)
    jointI = 0;
    jointJ = 0;
    for j = 1:height(jointTSSnew2{i,1})-1
        jointI(j) = jointTSSnew2{i,1}.ID(j);
        jointJ(j) = jointTSSnew2{i,1}.ID(j+1);
    end
    lastframenumber{i,:} = max(frameTSS1{i,1}.("Frame ID"));
    frameTSS2{i,:} = table((lastframenumber{i}+1:lastframenumber{i}+j)',jointI',jointJ','VariableNames',{'Frame ID','JointI','JointJ'});
end
frameTSS = cellfun(@(varargin)vertcat(varargin{:}),frameTSS1,frameTSS2,'UniformOutput',false);
%% Name the Frame
% bottom special segment (BSS) (this phase is not automatic for different story)
for i = 1:height(VariantIDPassed)
    jointBSSnew1{i,:} = sortrows(jointbottomspecialsegment.("Joint Bottom Special Segment"){i,1}(ismember(jointbottomspecialsegment.("Joint Bottom Special Segment"){i,1}.Z,Zbottombeam{i}(1)),:),2);
    jointBSSnew2{i,:} = sortrows(jointbottomspecialsegment.("Joint Bottom Special Segment"){i,1}(ismember(jointbottomspecialsegment.("Joint Bottom Special Segment"){i,1}.Z,Zbottombeam{i}(2)),:),2);
    jointBSSnew{i,:} = vertcat(jointBSSnew1{i},jointBSSnew2{i});
end
for i = 1:height(VariantIDPassed)
    jointI = 0;
    jointJ = 0;
    for j = 1:height(jointBSSnew1{i,1})-1
        jointI(j) = jointBSSnew1{i,1}.ID(j);
        jointJ(j) = jointBSSnew1{i,1}.ID(j+1);
    end
    lastframenumber{i,:} = max(frameTSS{i,1}.("Frame ID"));
    frameBSS1{i,:} = table((lastframenumber{i}+1:lastframenumber{i}+j)',jointI',jointJ','VariableNames',{'Frame ID','JointI','JointJ'});
end
for i = 1:height(VariantIDPassed)
    jointI = 0;
    jointJ = 0;
    for j = 1:height(jointBSSnew2{i,1})-1
        jointI(j) = jointBSSnew2{i,1}.ID(j);
        jointJ(j) = jointBSSnew2{i,1}.ID(j+1);
    end
    lastframenumber{i,:} = max(frameBSS1{i,1}.("Frame ID"));
    frameBSS2{i,:} = table((lastframenumber{i}+1:lastframenumber{i}+j)',jointI',jointJ','VariableNames',{'Frame ID','JointI','JointJ'});
end
frameBSS = cellfun(@(varargin)vertcat(varargin{:}),frameBSS1,frameBSS2,'UniformOutput',false);
%% Name the Frame
% diagonal ordinary segment (DOS) (this phase is not automatic for different story)
for i = 1:height(VariantIDPassed)    
    tosleft{i,:} = frameTOS{i,1}(1:2:end,:);
    tosright{i,:} = frameTOS{i,1}(2:2:end,:);
    bosleft{i,:} = frameBOS{i,1}(1:2:end,:);
    bosright{i,:} = frameBOS{i,1}(2:2:end,:);
end
for i = 1:height(VariantIDPassed)
    jointI = 0;
    jointJ = 0;
    for j = 1:height(tosleft{i,1})
        jointI(j) = tosleft{i,1}.JointI(j);
        jointJ(j) = bosleft{i,1}.JointJ(j);
    end
    lastframenumber{i,:} = max(frameBSS{i,1}.("Frame ID"));
    frameDOS1{i,:} = table((lastframenumber{i}+1:lastframenumber{i}+j)',jointI',jointJ','VariableNames',{'Frame ID','JointI','JointJ'});
end
for i = 1:height(VariantIDPassed)
    jointI = 0;
    jointJ = 0;
    for j = 1:height(bosright{i,1})
        jointI(j) = bosright{i,1}.JointI(j);
        jointJ(j) = tosright{i,1}.JointJ(j);
    end
    lastframenumber{i,:} = max(frameDOS1{i,1}.("Frame ID"));
    frameDOS2{i,:} = table((lastframenumber{i}+1:lastframenumber{i}+j)',jointI',jointJ','VariableNames',{'Frame ID','JointI','JointJ'});
end
frameDOS = cellfun(@(varargin)vertcat(varargin{:}),frameDOS1,frameDOS2,'UniformOutput',false);
%% Name the Frame
% diagonal special segment (DSS) (this phase is not automatic for different story)
for i = 1:height(VariantIDPassed)    
    tssleft{i,:} = frameTSS{i,1};
    tssright{i,:} = frameTSS{i,1};
    bssleft{i,:} = frameBSS{i,1};
    bssright{i,:} = frameBSS{i,1};
end
for i = 1:height(VariantIDPassed)
    jointI = 0;
    jointJ = 0;
    for j = 1:height(tssleft{i,1})
        jointI(j) = tssleft{i,1}.JointI(j);
        jointJ(j) = bssleft{i,1}.JointJ(j);
    end
    lastframenumber{i,:} = max(frameDOS{i,1}.("Frame ID"));
    frameDSS1{i,:} = table((lastframenumber{i}+1:lastframenumber{i}+j)',jointI',jointJ','VariableNames',{'Frame ID','JointI','JointJ'});
end
for i = 1:height(VariantIDPassed)
    jointI = 0;
    jointJ = 0;
    for j = 1:height(bssright{i,1})
        jointI(j) = bssright{i,1}.JointI(j);
        jointJ(j) = tssright{i,1}.JointJ(j);
    end
    lastframenumber{i,:} = max(frameDSS1{i,1}.("Frame ID"));
    frameDSS2{i,:} = table((lastframenumber{i}+1:lastframenumber{i}+j)',jointI',jointJ','VariableNames',{'Frame ID','JointI','JointJ'});
end
frameDSS = cellfun(@(varargin)vertcat(varargin{:}),frameDSS1,frameDSS2,'UniformOutput',false);
%% Name the Frame
% vertical special segment (VSS) (this phase is not automatic for different story)
for i = 1:height(VariantIDPassed)    
    tssleft{i,:} = frameTSS{i,1};
    bssleft{i,:} = frameBSS{i,1};
end
for i = 1:height(VariantIDPassed)
    jointI = 0;
    jointJ = 0;
    for j = 1:height(tssleft{i,1})
        jointI(j) = tssleft{i,1}.JointI(j);
        jointJ(j) = bssleft{i,1}.JointI(j);
    end
    lastframenumber{i,:} = max(frameDSS{i,1}.("Frame ID"));
    frameVSS{i,:} = table((lastframenumber{i}+1:lastframenumber{i}+j)',jointI',jointJ','VariableNames',{'Frame ID','JointI','JointJ'});
end
%% Print 'frame' data to textline
txtframeCOLUMN = strings(height(framecolumn),1);
for i = 1:height(framecolumn)
    T = framecolumn{i};
    M = T{:,:};
    txtframeCOLUMN(i) = sprintf("   Frame=%d   JointI=%d   JointJ=%d   IsCurved=No   \n",M.');
end
txtframeTOS = strings(height(frameTOS),1);
for i = 1:height(frameTOS)
    T = frameTOS{i};
    M = T{:,:};
    txtframeTOS(i) = sprintf("   Frame=%d   JointI=%d   JointJ=%d   IsCurved=No   \n",M.');
end
txtframeBOS = strings(height(frameBOS),1);
for i = 1:height(frameBOS)
    T = frameBOS{i};
    M = T{:,:};
    txtframeBOS(i) = sprintf("   Frame=%d   JointI=%d   JointJ=%d   IsCurved=No   \n",M.');
end
txtframeTSS = strings(height(frameTSS),1);
for i = 1:height(frameTSS)
    T = frameTSS{i};
    M = T{:,:};
    txtframeTSS(i) = sprintf("   Frame=%d   JointI=%d   JointJ=%d   IsCurved=No   \n",M.');
end
txtframeBSS = strings(height(frameBSS),1);
for i = 1:height(frameBSS)
    T = frameBSS{i};
    M = T{:,:};
    txtframeBSS(i) = sprintf("   Frame=%d   JointI=%d   JointJ=%d   IsCurved=No   \n",M.');
end
txtframeDOS = strings(height(frameDOS),1);
for i = 1:height(frameDOS)
    T = frameDOS{i};
    M = T{:,:};
    txtframeDOS(i) = sprintf("   Frame=%d   JointI=%d   JointJ=%d   IsCurved=No   \n",M.');
end
txtframeDSS = strings(height(frameDSS),1);
for i = 1:height(frameDSS)
    T = frameDSS{i};
    M = T{:,:};
    txtframeDSS(i) = sprintf("   Frame=%d   JointI=%d   JointJ=%d   IsCurved=No   \n",M.');
end
txtframeVSS = strings(height(frameVSS),1);
for i = 1:height(frameVSS)
    T = frameVSS{i};
    M = T{:,:};
    txtframeVSS(i) = sprintf("   Frame=%d   JointI=%d   JointJ=%d   IsCurved=No   \n",M.');
end
%% Print 'joint' data to textline
txtjointBASE = strings(height(jointbase),1);
for i = 1:height(jointbase)
    T = jointbase.("Joint Base"){i};
    M = T{:,:};
    M(:,end+[1 2]) = M(:,[2 3]); % duplicate columns 2 and 3 into columns 4 and 5
    txtjointBASE(i) = sprintf("   Joint=%d   CoordSys=GLOBAL   CoordType=Cartesian   XorR=%1.3f   Y=0   Z=%1.3f   SpecialJt=No   GlobalX=%1.3f   GlobalY=0   GlobalZ=%1.3f\n",M.');
end
txtjointCOLUMN = strings(height(jointcolumn),1);
for i = 1:height(jointcolumn)
    T = jointcolumn.("Joint Column"){i};
    M = T{:,:};
    M(:,end+[1 2]) = M(:,[2 3]); % duplicate columns 2 and 3 into columns 4 and 5
    txtjointCOLUMN(i) = sprintf("   Joint=%d   CoordSys=GLOBAL   CoordType=Cartesian   XorR=%1.3f   Y=0   Z=%1.3f   SpecialJt=No   GlobalX=%1.3f   GlobalY=0   GlobalZ=%1.3f\n",M.');
end
txtjointTOS = strings(height(jointtopordinarysegment),1);
for i = 1:height(jointtopordinarysegment)
    T = jointtopordinarysegment.("Joint Top Ordinary Segment"){i};
    M = T{:,:};
    M(:,end+[1 2]) = M(:,[2 3]); % duplicate columns 2 and 3 into columns 4 and 5
    txtjointTOS(i) = sprintf("   Joint=%d   CoordSys=GLOBAL   CoordType=Cartesian   XorR=%1.3f   Y=0   Z=%1.3f   SpecialJt=No   GlobalX=%1.3f   GlobalY=0   GlobalZ=%1.3f\n",M.');
end
txtjointBOS = strings(height(jointbottomordinarysegment),1);
for i = 1:height(jointbottomordinarysegment)
    T = jointbottomordinarysegment.("Joint Bottom Ordinary Segment"){i};
    M = T{:,:};
    M(:,end+[1 2]) = M(:,[2 3]); % duplicate columns 2 and 3 into columns 4 and 5
    txtjointBOS(i) = sprintf("   Joint=%d   CoordSys=GLOBAL   CoordType=Cartesian   XorR=%1.3f   Y=0   Z=%1.3f   SpecialJt=No   GlobalX=%1.3f   GlobalY=0   GlobalZ=%1.3f\n",M.');
end
txtjointTSS = strings(height(jointtopspecialsegment),1);
for i = 1:height(jointtopspecialsegment)
    T = jointtopspecialsegment.("Joint Top Special Segment"){i};
    M = T{:,:};
    M(:,end+[1 2]) = M(:,[2 3]); % duplicate columns 2 and 3 into columns 4 and 5
    txtjointTSS(i) = sprintf("   Joint=%d   CoordSys=GLOBAL   CoordType=Cartesian   XorR=%1.3f   Y=0   Z=%1.3f   SpecialJt=No   GlobalX=%1.3f   GlobalY=0   GlobalZ=%1.3f\n",M.');
end
txtjointBSS = strings(height(jointbottomspecialsegment),1);
for i = 1:height(jointbottomspecialsegment)
    T = jointbottomspecialsegment.("Joint Bottom Special Segment"){i};
    M = T{:,:};
    M(:,end+[1 2]) = M(:,[2 3]); % duplicate columns 2 and 3 into columns 4 and 5
    txtjointBSS(i) = sprintf("   Joint=%d   CoordSys=GLOBAL   CoordType=Cartesian   XorR=%1.3f   Y=0   Z=%1.3f   SpecialJt=No   GlobalX=%1.3f   GlobalY=0   GlobalZ=%1.3f\n",M.');
end
%% WRITE s2k Extension Files
VariantModel = compose('%d', 1:height(VariantIDPassed));
    lined= append(txtjointBASE,txtjointCOLUMN,txtjointTOS,txtjointBOS,txtjointTSS,txtjointBSS);
for i = 1:numel(VariantModel)
    writefile(VariantModel{i},txtjointBASE{i},txtjointCOLUMN{i},txtjointTOS{i},txtjointBOS{i},txtjointTSS{i},txtjointBSS{i},txtframeCOLUMN{i},txtframeTOS{i},txtframeBOS{i},txtframeTSS{i},txtframeBSS{i},txtframeDOS{i},txtframeDSS{i},txtframeVSS{i});
end
files = dir('*.s2k');
files(:).name;
function  writefile(C,txtjointBASE,txtjointCOLUMN,txtjointTOS,txtjointBOS,txtjointTSS,txtjointBSS,txtframeCOLUMN,txtframeTOS,txtframeBOS,txtframeTSS,txtframeBSS,txtframeDOS,txtframeDSS,txtframeVSS)
    fido = fopen("ModelVariant"+C+".s2k",'wt');
    newline = '\n';
    line1='File D:\MAGISTER\KULIAH\TESIS\S2K FILE\ModelVariant-%d.s2k was saved on m/d/yy at h:mm:ss';
    line2='TABLE:  "PROGRAM CONTROL"';
    line3='   ProgramName=SAP2000   Version=25.0.0   ProgLevel=Ultimate   LicenseNum=3010*1D6KZBK478DMQCT   LicenseOS=Yes   LicenseSC=Yes   LicenseHT=No   CurrUnits="KN, m, C"   SteelCode="AISC 360-10"   ConcCode="ACI 318-19"   AlumCode="AA 2015" _';
    line4='        ColdCode=AISI-16   RegenHinge=Yes';
    line5='TABLE:  "ACTIVE DEGREES OF FREEDOM"';
    line6='   UX=Yes   UY=No   UZ=Yes   RX=No   RY=Yes   RZ=No';
    line7='TABLE:  "ANALYSIS OPTIONS"';
    line8='   Solver=Multithreaded   SolverProc="Analysis Process"   NumParallel=0   Force32Bit=No   StiffCase=None   GeomMod=None   HingeOpt="In Elements"   NumAThreads=0   MaxFileSize=0   NumDThreads=0   NumRThreads=0 _   UseMMFiles="Program Determined"   AllowDiff=No';
    line9='TABLE:  "COORDINATE SYSTEMS"';
    line10='   Name=GLOBAL   Type=Cartesian   X=0   Y=0   Z=0   AboutZ=0   AboutY=0   AboutX=0';
    line11='TABLE:  "GRID LINES"';
    line12='   CoordSys=GLOBAL   AxisDir=X   GridID=A   XRYZCoord=0   LineType=Primary   LineColor=Gray8Dark   Visible=Yes   BubbleLoc=End   AllVisible=Yes   BubbleSize=1,5';
    line13='   CoordSys=GLOBAL   AxisDir=X   GridID=B   XRYZCoord=15   LineType=Primary   LineColor=Gray8Dark   Visible=Yes   BubbleLoc=End';
    line14='   CoordSys=GLOBAL   AxisDir=X   GridID=C   XRYZCoord=30   LineType=Primary   LineColor=Gray8Dark   Visible=Yes   BubbleLoc=End';
    line15='   CoordSys=GLOBAL   AxisDir=Y   GridID=1   XRYZCoord=0   LineType=Primary   LineColor=Gray8Dark   Visible=Yes   BubbleLoc=Start';
    line16='   CoordSys=GLOBAL   AxisDir=Z   GridID=Z0   XRYZCoord=0   LineType=Primary   LineColor=Gray8Dark   Visible=Yes   BubbleLoc=End';
    line17='   CoordSys=GLOBAL   AxisDir=Z   GridID=Z1   XRYZCoord=5   LineType=Primary   LineColor=Gray8Dark   Visible=Yes   BubbleLoc=End';
    line18='   CoordSys=GLOBAL   AxisDir=Z   GridID=Z2   XRYZCoord=10   LineType=Primary   LineColor=Gray8Dark   Visible=Yes   BubbleLoc=End';
    line19='TABLE:  "MATERIAL PROPERTIES 01 - GENERAL"';
    line20='   Material=4000Psi   Type=Concrete   Grade="' + "f'c 4000 " + 'psi"'+ '   SymType=Isotropic   TempDepend=No   Color=Green   GUID=b0920fc0-a39b-46e4-a096-037f0f0739a7   Notes="Customary '+"f'c 4000 psi "+'01/02/2024 20:13:33"';
    line21='   Material=BJ-37   Type=Steel   Grade="Grade 50"   SymType=Isotropic   TempDepend=No   Color=Magenta   Notes="ASTM A992 Grade 50 01/02/2024 20:03:34"';
    line22='TABLE:  "MATERIAL PROPERTIES 02 - BASIC MECHANICAL PROPERTIES"';
    line23='   Material=4000Psi   UnitWeight=23,5631216161854   UnitMass=2,40276960558926   E1=24855578,0600518   G12=10356490,8583549   U12=0,2   A1=9,89999952793124E-06';
    line24='   Material=BJ-37   UnitWeight=76,9728639422648   UnitMass=7,84904737995992   E1=199947978,795958   G12=76903068,7676762   U12=0,3   A1=1,16999994421006E-05';
    line25='TABLE:  "MATERIAL PROPERTIES 03A - STEEL DATA"';
    line26='   Material=BJ-37   Fy=235000   Fu=352500   EffFy=235000   EffFu=352500   SSCurveOpt=Simple   SSHysType=Kinematic   SHard=0,015   SMax=0,11   SRup=0,17   FinalSlope=-0,1   CoupModType="Von Mises"';
    line27='TABLE:  "MATERIAL PROPERTIES 06 - DAMPING PARAMETERS"';
    line28='   Material=4000Psi   ModalRatio=0   VisMass=0   VisStiff=0   HysMass=0   HysStiff=0';
    line29='   Material=BJ-37   ModalRatio=0   VisMass=0   VisStiff=0   HysMass=0   HysStiff=0';
    line30='TABLE:  "MATERIAL PROPERTIES 09 - ACCEPTANCE CRITERIA"';
    line31='   Material=4000Psi   IOTens=0,01   LSTens=0,02   CPTens=0,05   IOComp=-0,003   LSComp=-0,006   CPComp=-0,015   IgnoreTens=Yes';
    line32='   Material=BJ-37   IOTens=0,01   LSTens=0,02   CPTens=0,05   IOComp=-0,005   LSComp=-0,01   CPComp=-0,02';
    line33='TABLE:  "FRAME SECTION PROPERTIES 01 - GENERAL"';
    line34='   SectionName=ExampleWideFlanged   Material=BJ-37   Shape="I/Wide Flange"   t3=0,25   t2=0,15   tf=0,012   tw=0,008   t2b=0,15   tfb=0,012   FilletRadius=0,012   Area=0,005552   TorsConst=2,13418666666667E-07   I33=6,04638656154112E-05 _';
    line35='        I22=6,76749435145855E-06   I23=-6,7762635780344E-21   AS2=0,00200790111881035   AS3=0,00357344416053972   S33Top=0,00048371092492329   S33Bot=0,00048371092492329   S22Left=9,02332580194473E-05   S22Right=9,02332580194473E-05 _';
    line36='        Z33=0,000546402338734841   Z22=0,00013961366126516   R33=0,10435739412628   R22=0,0349131651083826   CGOffset3=-1,38777878078145E-17   CGOffset2=5,55111512312578E-17   EccV2=0   EccV3=0   Cw=9,558675E-08   ConcCol=No   ConcBeam=No _';
    line37='        Color=Blue   TotalWt=60,3707599671425   TotalMass=6,15610399662034   FromFile=No   AMod=1   A2Mod=1   A3Mod=1   JMod=1   I2Mod=1   I3Mod=1   MMod=1   WMod=1   Notes="Added 03/04/2024 20:08:55';
    line38='TABLE:  "LOAD PATTERN DEFINITIONS"';
    line39='   LoadPat=DEAD   DesignType=Dead   SelfWtMult=1   GUID=d2c74fc0-a771-416d-b3dc-4b0a2047268d';
    line40='   LoadPat=SUPERDEAD   DesignType="Super Dead"   SelfWtMult=0   GUID=91534b51-672f-4fb0-a037-d7225de00c69   Notes="Added 01/02/2024 20:08:11"';
    line41='   LoadPat=LIVE   DesignType=Live   SelfWtMult=0   GUID=1f6f6fd1-e0f1-4fcb-bf3d-dc86bd53f1a8   Notes="Added 01/02/2024 20:08:16"';
    line42='TABLE:  "GROUPS 1 - DEFINITIONS"';
    line43='   GroupName=All   Selection=Yes   SectionCut=Yes   Steel=Yes   Concrete=Yes   Aluminum=Yes   ColdFormed=Yes   Stage=Yes   Bridge=Yes   AutoSeismic=No   AutoWind=No   SelDesSteel=No   SelDesAlum=No   SelDesCold=No   MassWeight=Yes   Color=Red';
    line44='   GroupName=ST_Top   Selection=Yes   SectionCut=Yes   Steel=Yes   Concrete=Yes   Aluminum=Yes   ColdFormed=Yes   Stage=Yes   Bridge=Yes   AutoSeismic=No   AutoWind=No   SelDesSteel=No   SelDesAlum=No   SelDesCold=No   MassWeight=Yes   Color=Gray8Dark';
    line45='   GroupName=ST_Bot   Selection=Yes   SectionCut=Yes   Steel=Yes   Concrete=Yes   Aluminum=Yes   ColdFormed=Yes   Stage=Yes   Bridge=Yes   AutoSeismic=No   AutoWind=No   SelDesSteel=No   SelDesAlum=No   SelDesCold=No   MassWeight=Yes   Color=Blue';
    line46='   GroupName=ST_Ver   Selection=Yes   SectionCut=Yes   Steel=Yes   Concrete=Yes   Aluminum=Yes   ColdFormed=Yes   Stage=Yes   Bridge=Yes   AutoSeismic=No   AutoWind=No   SelDesSteel=No   SelDesAlum=No   SelDesCold=No   MassWeight=Yes   Color=Green';
    line47='   GroupName=ST_Diag   Selection=Yes   SectionCut=Yes   Steel=Yes   Concrete=Yes   Aluminum=Yes   ColdFormed=Yes   Stage=Yes   Bridge=Yes   AutoSeismic=No   AutoWind=No   SelDesSteel=No   SelDesAlum=No   SelDesCold=No   MassWeight=Yes   Color=Cyan';
    line48='   GroupName=OT_Top1   Selection=Yes   SectionCut=Yes   Steel=Yes   Concrete=Yes   Aluminum=Yes   ColdFormed=Yes   Stage=Yes   Bridge=Yes   AutoSeismic=No   AutoWind=No   SelDesSteel=No   SelDesAlum=No   SelDesCold=No   MassWeight=Yes   Color=Red';
    line49='   GroupName=OT_Top2   Selection=Yes   SectionCut=Yes   Steel=Yes   Concrete=Yes   Aluminum=Yes   ColdFormed=Yes   Stage=Yes   Bridge=Yes   AutoSeismic=No   AutoWind=No   SelDesSteel=No   SelDesAlum=No   SelDesCold=No   MassWeight=Yes   Color=Yellow';
    line49a='   GroupName=OT_Bot1   Selection=Yes   SectionCut=Yes   Steel=Yes   Concrete=Yes   Aluminum=Yes   ColdFormed=Yes   Stage=Yes   Bridge=Yes   AutoSeismic=No   AutoWind=No   SelDesSteel=No   SelDesAlum=No   SelDesCold=No   MassWeight=Yes   Color=Gray8Dark';
    line49b='   GroupName=OT_Bot2   Selection=Yes   SectionCut=Yes   Steel=Yes   Concrete=Yes   Aluminum=Yes   ColdFormed=Yes   Stage=Yes   Bridge=Yes   AutoSeismic=No   AutoWind=No   SelDesSteel=No   SelDesAlum=No   SelDesCold=No   MassWeight=Yes   Color=Blue';
    line49c='   GroupName=OT_Ver   Selection=Yes   SectionCut=Yes   Steel=Yes   Concrete=Yes   Aluminum=Yes   ColdFormed=Yes   Stage=Yes   Bridge=Yes   AutoSeismic=No   AutoWind=No   SelDesSteel=No   SelDesAlum=No   SelDesCold=No   MassWeight=Yes   Color=Green';
    line49d='   GroupName=OT_Diag   Selection=Yes   SectionCut=Yes   Steel=Yes   Concrete=Yes   Aluminum=Yes   ColdFormed=Yes   Stage=Yes   Bridge=Yes   AutoSeismic=No   AutoWind=No   SelDesSteel=No   SelDesAlum=No   SelDesCold=No   MassWeight=Yes   Color=Cyan';
    line49e='   GroupName=Column_End   Selection=Yes   SectionCut=Yes   Steel=Yes   Concrete=Yes   Aluminum=Yes   ColdFormed=Yes   Stage=Yes   Bridge=Yes   AutoSeismic=No   AutoWind=No   SelDesSteel=No   SelDesAlum=No   SelDesCold=No   MassWeight=Yes   Color=Red';
    line50='TABLE:  "JOINT PATTERN DEFINITIONS"';
    line51='   Pattern=Default';
    line52='TABLE:  "MASS SOURCE"';
    line53='   MassSource=MSSSRC1   Elements=Yes   Masses=Yes   Loads=Yes   IsDefault=Yes   LoadPat=DEAD   Multiplier=1';
    line54='   MassSource=MSSSRC1   LoadPat=SUPERDEAD   Multiplier=1';
    line55='   MassSource=MSSSRC1   LoadPat=LIVE   Multiplier=0,5';
    line56='TABLE:  "LOAD CASE DEFINITIONS"';
    line57='   Case=DEAD   Type=LinStatic   InitialCond=Zero   DesTypeOpt="Prog Det"   DesignType=Dead   DesActOpt="Prog Det"   DesignAct=Non-Composite   AutoType=None   RunCase=Yes   CaseStatus="Not Run"   GUID=91b91585-f6e6-446e-ac30-362013fd8af9';
    line58='   Case=MODAL   Type=LinModal   InitialCond=Zero   DesTypeOpt="Prog Det"   DesignType=Other   DesActOpt="Prog Det"   DesignAct=Other   AutoType=None   RunCase=Yes   CaseStatus="Not Run"   GUID=3e160405-efbf-45fb-ae06-c6da634ca183';
    line59='   Case=SUPERDEAD   Type=LinStatic   InitialCond=Zero   DesTypeOpt="Prog Det"   DesignType="Super Dead"   DesActOpt="Prog Det"   DesignAct="Long-Term Composite"   AutoType=None   RunCase=Yes   CaseStatus="Not Run"   GUID=2ca565b7-af73-42e9-9208-0a0739594699';
    line60='   Case=LIVE   Type=LinStatic   InitialCond=Zero   DesTypeOpt="Prog Det"   DesignType=Live   DesActOpt="Prog Det"   DesignAct="Short-Term Composite"   AutoType=None   RunCase=Yes   CaseStatus="Not Run"   GUID=e969dd8f-56cc-40d7-af8a-0fba39157fcb';
    line61='   Case="Gravity NLS"   Type=NonStatic   InitialCond=Zero   MassSource=MSSSRC1   DesTypeOpt="Prog Det"   DesignType=Dead   DesActOpt="Prog Det"   DesignAct=Non-Composite   AutoType=None   RunCase=Yes   CaseStatus="Not Run"   GUID=e13dc273-9465-4be3-a170-d60ddec6e3ae';
    line62='   Case=Pushover-UX   Type=NonStatic   InitialCond="Gravity NLS"   MassSource=MSSSRC1   DesTypeOpt="Prog Det"   DesignType=Quake   DesActOpt="Prog Det"   DesignAct="Short-Term Composite"   AutoType=None   RunCase=Yes   CaseStatus="Not Run"   GUID=e13dc273-9465-4be3-a170-d60ddec6e3ae';
    line63='TABLE:  "CASE - STATIC 1 - LOAD ASSIGNMENTS"';
    line64='   Case=DEAD   LoadType="Load pattern"   LoadName=DEAD   LoadSF=1';
    line65='   Case=SUPERDEAD   LoadType="Load pattern"   LoadName=SUPERDEAD   LoadSF=1';
    line66='   Case=LIVE   LoadType="Load pattern"   LoadName=LIVE   LoadSF=1';
    line67='   Case="Gravity NLS"   LoadType="Load pattern"   LoadName=DEAD   LoadSF=1';
    line68='   Case="Gravity NLS"   LoadType="Load pattern"   LoadName=SUPERDEAD   LoadSF=1';
    line69='   Case="Gravity NLS"   LoadType="Load pattern"   LoadName=LIVE   LoadSF=0,5';
    line70='   Case=Pushover-UX   LoadType=Accel   LoadName="Accel UX"   TransAccSF=-1';
    line71='TABLE:  "CASE - STATIC 2 - NONLINEAR LOAD APPLICATION"';
    line72='   Case="Gravity NLS"   LoadApp="Full Load"   MonitorDOF=U1   MonitorJt=9';
    line73='   Case=Pushover-UX   LoadApp="Displ Ctrl"   DisplType=Monitored   TargetDispl=1   MonitorDOF=U1   MonitorJt=9';
    line74='TABLE:  "CASE - STATIC 4 - NONLINEAR PARAMETERS"';
    line75='   Case="Gravity NLS"   GeoNonLin=P-Delta   ResultsSave="Final State"   SolScheme="Iterative Events"   MaxTotal=200   MaxNull=50   EvLumpTol=0,01   MaxEvPerStp=24   MaxIterCS=10   MaxIterNR=40   ItConvTol=0,0001   TFMaxIter=10   TFTol=0,01 _';
    line76='        TFAccelFact=1   TFNoStop=No';
    line77='   Case=Pushover-UX   GeoNonLin=P-Delta   ResultsSave="Multiple States"   MinNumState=10   MaxNumState=100   PosIncOnly=Yes   SolScheme="Iterative Events"   MaxTotal=200   MaxNull=50   EvLumpTol=0,01   MaxEvPerStp=24   MaxIterCS=10 _';
    line78='        MaxIterNR=40   ItConvTol=0,0001   TFMaxIter=10   TFTol=0,01   TFAccelFact=1   TFNoStop=No';
    line79='TABLE:  "CASE - MODAL 1 - GENERAL"';
    line80='   Case=MODAL   ModeType=Eigen   MaxNumModes=12   MinNumModes=1   EigenShift=0   EigenCutoff=0   EigenTol=1E-09   AutoShift=Yes';
    line81='TABLE:  "JOINT COORDINATES"';
    line82= append(txtjointBASE,txtjointCOLUMN,txtjointTOS,txtjointBOS,txtjointTSS,txtjointBSS);
    line83='TABLE:  "CONNECTIVITY - FRAME"';
    line84= append(txtframeCOLUMN,txtframeTOS,txtframeBOS,txtframeTSS,txtframeBSS,txtframeDOS,txtframeDSS,txtframeVSS);
    line85='TABLE:  "END TABLE DATA"';
    combine1 = append(line1,newline,line2,newline,line3,newline,line4,newline,line5,newline,line6,newline,line7,newline,line8,newline,line9,newline,line10,newline,line11,newline,line12,newline,line13,newline,line14,newline,line15,newline,line16,newline,line17,newline,line18,newline,line19,newline,line20,newline,line21,newline,line22,newline,line23,newline,line24,newline,line25,newline,line26,newline,line27,newline,line28,newline,line29,newline,line30,newline,line31,newline,line32,newline,line33,newline,line34,newline,line35,newline,line36);
    combine2 = append(combine1,newline,line37,newline,line38,newline,line39,newline,line40,newline,line41,newline,line42,newline,line43,newline,line44,newline,line45,newline,line46,newline,line47,newline,line48,newline,line49,newline,line49a,newline,line49b,newline,line49c,newline,line49d,newline,line49e,newline,line50,newline,line51,newline,line52,newline,line53,newline,line54,newline,line55,newline,line56,newline,line57,newline,line58,newline,line59,newline,line60,newline,line61,newline,line62,newline,line63,newline,line64,newline,line65,newline,line66,newline,line67,newline,line68,newline);
    combine3 = append(combine2,line69,newline,line70,newline,line71,newline,line72,newline,line73,newline,line74,newline,line75,newline,line76,newline,line77,newline,line78,newline,line79,newline,line80,newline,line81,newline,line82,newline,line83,newline,line84,newline,line85);
    fprintf(fido,combine3,C);
    fclose(fido);
end
0 comentarios
Respuesta aceptada
  Anton Kogios
      
 el 28 de Abr. de 2024
        
      Editada: Anton Kogios
      
 el 28 de Abr. de 2024
  
      '\' is a formatting operator, so to get a backslash using fprintf/sprintf, you need to have a '\\'. Your first line contains multiple backslashes, the first of which is '\M', hence the warning. MATLAB thinks you are specifying '\M' as a format specifier, which doesn't exist.
Did you check the documentation like the warning told you? See below for the relevant section:

0 comentarios
Más respuestas (0)
Ver también
Categorías
				Más información sobre Exponents and Logarithms en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

