MATLAB Answers

0

MATLAB Coderで使用可能​なExcelもしくは​CSVファイル対応の​関数について

Asked by Ryo Shinohara on 12 Sep 2019
Latest activity Commented on by Ryo Shinohara on 17 Sep 2019
MATLAB Coderを用いてC言語に変換を行っているのですが、コード生成がサポートされていないとエラーが発生し変換が出来ません。
csvファイルに変換しcsvredや他の関数を試しましたが、未だ機能する関数を見つけられません。
適切な関数、またはそれに代わる方法がありましたら、お教え頂けないでしょうか?

  2 Comments

Yoshio
on 12 Sep 2019
確認したいのですが、ExcelやCSVファイルを読む関数を、MATLAB関数+MATLAB Coder を使って、Cコードを生成したいということでしょうか? 「未だ機能する関数を見つけられません。」に関してどのような機能なのか教えて頂けますでしょうか?
また、「コード生成がサポートされていないとエラーが発生し変換が出来ません。」のエラーに関して、実際のコードを示して頂けたらと思います。
Yoshioさん
返信ありがとうございます。
>ExcelやCSVファイルを読む関数を、MATLAB関数+MATLAB Coder を使って、Cコードを生成したい
はい、その通りです。
  1. CSVファイルをMATLABで読み込み、ワークスペースに保存
  2. その後の、いろいろな2次処理
を実装していて、これをMATLAB Coderにかけたところ、
csvread()が引っかかって、Cコードの生成にまでたどり着けませんでした。
「未だ機能する関数」に対しての機能は、
上にあげた、1. になります。
clear;
%Loading Constant Values
%Call Excel
filename='AA';
csvread1='B7:B17';
csvread2='B19:B30';
csvread3='B32:B39';
[num1,txt1,LonD]=csvread(filename,csvread1);
[num2,txt2,LatD]=csvread(filename,csvread2);
[num3,txt3,AirC]=csvread(filename,csvread3);
%Cell to Mat
LonDim=cell2mat(LonD);
LatDim=cell2mat(LatD);
Config=cell2mat(AirC);
load('WorkSpace.mat')
load('InitialCondition.mat')
load('LandingGain.mat')
load('Profile.mat')
load('Velocity.mat')
open_system('Linear.slx')

Sign in to comment.

Products


Release

R2019a

1 Answer

Answer by Etsuo Maeda on 17 Sep 2019
 Accepted Answer

C/C++ コードの生成でサポートされている関数およびオブジェクト — アルファベット順
にcodegen 対応の関数一覧があります。
csvread関数やxlsread関数はサポートされていません。
fopen関数, fread関数など低水準の関数を組み合わせて使う必要があります。
HTH

  1 Comment

返信ありがとうございます。
参考にさせて頂きます。

Sign in to comment.