I have MATLAB code and output is saved in variable and i want to save in csv file. And there is no example of that in doc of MATLAB. I have attached the code and variable name is"TY".

 Réponse acceptée

Star Strider
Star Strider le 17 Juin 2017

0 votes

See the documentation on the csvwrite (link) function. It was introduced prior to R2006a, so you should have access to it. There are similar functions linked to in and at the end of that documentation page.

1 commentaire

Star Strider
Star Strider le 4 Mai 2023
The writematrix function was introduced in R2019a, two years after I posted this.

Connectez-vous pour commenter.

Plus de réponses (2)

Md. Al-Imran Abir
Md. Al-Imran Abir le 4 Juil 2022

3 votes

At present, csvwrite (documentation) is not recommended. If one has a newer version of MATLAB (2019a or later), writematrix (documentation) is the preferred way.
Erika Joh
Erika Joh le 26 Avr 2019
Modifié(e) : Erika Joh le 26 Avr 2019

2 votes

Thanks! Would I just call on the function several times then, like:
csvwrite('filename.csv',variable1,0,1)
csvwrite('filename.csv',variable2,0,2)
etc?

4 commentaires

hameed asmath
hameed asmath le 7 Nov 2020
hello joh and strider!
Iam facing the same problem. did u solved this problem?. Kindly share the any sample code for the solution.
Thank you
Shekhar Vats
Shekhar Vats le 28 Avr 2021
This is a stupid bruteforce method, if you find a better one please share. I have seen people just pointing to the default matlab way where you can save one variable. What if you have 1000's of variable that will take all the time. I hope someone will share a better code
for downloading xlscol function
clear all; close all; clc;
current_dir = pwd;
[Filename, Pathname] = uigetfile('Select File'); % select file
file_to_be_loaded = [Pathname '\' Filename]; % get file path and name
load(file_to_be_loaded); % load file
Filename
clear Pathname file_to_be_loaded current_dir
vars=who;
sheet = 1;
for n=1:size(vars)
n
xlRange = [xlscol(n) '1'];
xl_range = [xlscol(n) '2'];
xlswrite([Filename(1:end-4) '.xlsx'],cell(vars(n)),sheet, xlRange)
xlswrite([Filename(1:end-4) '.xlsx'],eval(char(vars(n))),sheet, xl_range)
end
A better way is to put the variables in a matrix, and export the data. See this thread:
xout1 = [1 2 3]
yout1 = [4 5 6]
m = [xout1,yout1]
csvwrite('filename.csv',m)

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by