フィルターのクリア

Call a Matrix inside another Script

2 ビュー (過去 30 日間)
Laurel Castillo
Laurel Castillo 2018 年 12 月 10 日
編集済み: Stephen23 2018 年 12 月 10 日
I want to achieve:
1. psm_q is a script.
2. When I am in main.m, type
psm_q;
psm_q will be shown in the workspace as a 6*1 matrix with values defined in psm_q.m
Let's say the 6*1 matrix of psm_q is [pi/3; pi/3; 0.1; pi/3; pi/3; pi/3], what should I code in psm_q?
I tried typing in psm_q:
[pi/3; pi/3; 0.1; pi/3; pi/3; pi/3]
,
[q1=pi/3;
q2=pi/3;
q3=0.1;
q4=pi/3;
q5=pi/3;
q6=pi/3]
and
function [q1,q2,q3,q4,q5,q6]=psm_q()
q1=pi/3;
q2=pi/3;
q3=0.1;
q4=pi/3;
q5=pi/3;
q6=pi/3;
end
but they all don't work as expected.
Please help.
  1 件のコメント
Stephen23
Stephen23 2018 年 12 月 10 日
Numbered variables are a sign that you are doing something wrong. Sitck to using arrays if you want to make your code simpler and more efficient.

サインインしてコメントする。

採用された回答

madhan ravi
madhan ravi 2018 年 12 月 10 日
編集済み: madhan ravi 2018 年 12 月 10 日
Just call it in the main.m script
function psm_q=psm_q_func()
q1=pi/3;
q2=pi/3;
q3=0.1;
q4=pi/3;
q5=pi/3;
q6=pi/3;
psm_q=[q1 q2 q3 q4 q5 q6].';
end
  4 件のコメント
Stephen23
Stephen23 2018 年 12 月 10 日
編集済み: Stephen23 2018 年 12 月 10 日
Simpler without transpose:
psm_q = [q1; q2; q3; q4; q5; q6];
or even better:
function out = psm_q_func()
out = [pi/3; pi/3; 0.1; pi/3; pi/3; pi/3];
end
madhan ravi
madhan ravi 2018 年 12 月 10 日
Thank you @Stephen :)

サインインしてコメントする。

その他の回答 (1 件)

Stephen23
Stephen23 2018 年 12 月 10 日
編集済み: Stephen23 2018 年 12 月 10 日
Actually all you need in your script is this:
psm_q = [pi/3; pi/3; 0.1; pi/3; pi/3; pi/3];

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by