Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

is it possible to input two variable values while loading a function from commend menu?

1 vue (au cours des 30 derniers jours)
Young Lee
Young Lee le 7 Nov 2018
Clôturé : MATLAB Answer Bot le 20 Août 2021
function [] = w8ass7p4(y)
y = [n m]
%number of files
for i = 1:n
% variable for folder
a = ['binder',num2str(i)]
mkdir(a)
for j= 1:m
matrix = magic(j)
b = ['texfiles',num2str(j)]
c = [a,'\',b]
dlmwrite(c,matrix,'|')
end
end
Im writing a function so that It can loop and create n of folders and m of files
is it possible to load a function while inputting two variable, if so, how can I improve my code?? Thank you!!
  1 commentaire
Caglar
Caglar le 7 Nov 2018
Your code is illogical. Your input is y but then you are defining y. That would delete the input y. I think you want to do
[n m]=y
Also, you can do
function [] = w8ass7p4(n,m)
so that it accepts 2 input variables.

Réponses (2)

Stephen23
Stephen23 le 7 Nov 2018
Modifié(e) : Stephen23 le 7 Nov 2018
You should use sprintf and fullfile:
D = 'directory where the folders should be located';
for ii = 1:n
B = sprintf('binder%d',ii);
mkdir(fullfile(D,B))
for jj = 1:m
matrix = magic(jj);
T = sprintf('file%d.txt',jj);
F = fullfile(D,B,T);
dlmwrite(F,matrix,'|')
end
end

madhan ravi
madhan ravi le 7 Nov 2018
Modifié(e) : madhan ravi le 7 Nov 2018
[n m]=size(y) %change this
dlmwrite(c,matrix,'delimiter ','|') %change this
Put
w8ass7p4(y) %y should be a matrix
In command window

Cette question est clôturée.

Community Treasure Hunt

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

Start Hunting!

Translated by