Clear Filters
Clear Filters

Info

This question is closed. Reopen it to edit or answer.

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

1 view (last 30 days)
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 Comment
Caglar
Caglar on 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.

Answers (2)

Stephen23
Stephen23 on 7 Nov 2018
Edited: Stephen23 on 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 on 7 Nov 2018
Edited: madhan ravi on 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

This question is closed.

Community Treasure Hunt

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

Start Hunting!