tas-net-2の日記

自動車整備、修理対応

scilab-5.2.1>再度インストール>デモを試行中

scilab-5.2.1>再度インストール>デモを試行中 - 車QF - Yahoo!ブログ

イメージ 1

イメージ 1

scilab-5.2.1>再度インストール>デモを試行中

scilab コンソール画面のメニューから

その他(?) > scilab デモ(D) > sound file handling  [RET]
で選択すると以下のデモが実行される 

デモ


立ち上げ開始:
初期環境の取り込み
-->// At first we create 0.5 seconds of sound parameters.
-->t=soundsec(0.5);
-->// Then we generate the sound.
-->s=sin(440*t)+sin(220*t)/2+sin(880*t)/2;
-->[nr,nc]=size(t);
-->s(nc/2:nc)=sin(330*t(nc/2:nc));
-->// We can easily make a Fourier analysis of it.
-->my_handle = scf(100001);
-->clf(my_handle,"reset");
-->analyze(s);

-->
-->halt();


グラフは上記の結果を反映しているようです。
実測データの読み込みとか分かれば別途トライしてみたい。

 

 

f:id:TAS-net:20190703091217p:plain

 

 

 

 コメント(44)

    

顔アイコン

Scilabユーザグループ in JAPAN
http://scilab.na-inet.jp/
http://www.mlb.co.jp/linux/science/scilab/index.html

2010/8/2(月) 午後 4:36ogw*og*2返信する

    

顔アイコン

link: The file RTC-scilabd.dll does not exist.
!--error 236 
link: 共有アーカイブはロードできません: Unknown Error
at line 44 of function initRTM called by : 
initRTM("debug");
at line 22 of exec file called by : 
-90ad-faa1364c132e.sce', 2
while executing a callback

2010/8/2(月) 午後 5:58ogw*og*2返信する

    

顔アイコン

Obtaining files related to user defined languages.

http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=User_Defined_Language_Files

2012/12/27(木) 午前 7:24ogw*og*2返信する

    

顔アイコン

フリーソフト Scilab 活用講座 (2011/3/3)
大野 修一 

広島大学大学院工学研究院

http://scilabinfo.wordpress.com/scilab-入門/フリーソフト-scilab-活用講座資料/

2012/12/27(木) 午前 11:40ogw*og*2返信する

    

顔アイコン

24文字のみ解釈で文字数は任意、scilabではそのようになっている
ようです。
Ver.はこの出典、言及を参照。

http://www.suga.net.it-chiba.ac.jp/~ymanabe/scilab/pdf/scilab02.pdf

Scilab3.1.1

2012/12/27(木) 午後 0:06ogw*og*2返信する

    

顔アイコン

octaveのオブジェクト・サイズは何と約67Mbytesもあるのです、容量が大きいだけの代物ではないのです、これらの機能を理解し使いこなすのは簡単でないでしょう・・・。

SciLabのコマンド数は800以上もあります、貧弱機能のBasicなる言語よりも豊富な機能です、汎用の言語ではプログラミングが困難な処理が可能であり、可能性を秘めたソフトであることは疑う余地もなく特殊なソフトの開発が可能でしょう・・・。

活用としては、本格的なシミュレーションが可能であり、MS-EXCELやMS-VBなどでシミュレーション・ソフトを製作している人たちがおりますが、無駄な時間の浪費であり、SciLab & Octaveを活用すれば短時間に殆どのシミュレーションが可能なはずです。


http://www.musin.co.jp/Computer/macsub/scilab_octave.html

2012/12/27(木) 午後 0:19ogw*og*2返信する

    

顔アイコン

複数ウィンドウのドッキング方法
投稿日: 2010/03/11 | 投稿者: Shuichi 

Scilab ではコンソール、エディタ、図など複数のウィンドウを使用します。

複数のウィンドウはつぎのようにひとつにまとめることができるます。

たとえば、エディタをコンソールにドッキングしたい場合は



上からふたつめの青い横バーをクリック&ドラッグしコンソールへもってゆきます。

どのようにドッキングするのかはドラッグした場所に依存します。たとえば



のようにできます。Undock したければ、さきほどの横バーの右からふたつめのボタンを押せばよいです.

ただ、この状態をどのようにセーブするのかが不明。(誰か教えてください。)

つまり、一度 Scilab を Exit するともとに戻ってします。

http://scilabinfo.wordpress.com/2010/03/11/複数ウィンドウのドッキング方法/

2012/12/27(木) 午後 7:00ogw*og*2返信する

    

顔アイコン

the Robotics Toolbox for Scilab/Scicos 32

http://www.fileguru.com/The-Robotics-Toolbox-For-Scilab-Scicos/download

2013/2/2(土) 午前 5:54ogw*og*2返信する

    

顔アイコン

>>F=syslin('c',F);



標準レベルのプロンプトに戻るには, 'resume' または 'abort' を入力してください.

デモ
導入
Scilab入門

の >> プロンプトんからの離脱は、上記のコマンドが使えるらしい。

2013/6/14(金) 午後 6:59ogw*og*2返信する

    

顔アイコン

v1=read('o2-1024.txt',-1,1);

->v1

->plot(v1)

2013/6/14(金) 午後 8:54ogw*og*2返信する

    

顔アイコン

fft
高速フーリエ変換
ifft
高速フーリエ逆変換
呼び出し手順
x=fft(a ,-1) or x=fft(a)
x=fft(a,1) or x=ifft(a)
x=fft(a,-1,dim,incr)
x=fft(a,1,dim,incr)
パラメータ
x
実数または複素数ベクトル. 実数または複素数行列 (2次元 fft)
a
実数または複素数ベクトル, 行列または多次元配列.
dim
整数
incr
整数
説明
短縮構文
直接
x=fft(a,-1) または x=fft(a) は離散変換を 出力します.

2013/6/14(金) 午後 11:01ogw*og*2返信する

    

顔アイコン

ScilabFFT.sce

http://kestrel.isa-geek.net/ryumei/tone/?(sci)+ScilabFFT

2013/6/14(金) 午後 11:38ogw*og*2返信する

    

顔アイコン

リーマン和
Riemann integral
http://ja.wikipedia.org/wiki/リーマン積分

2013/6/30(日) 午後 10:11ogw*og*2返信する

    

顔アイコン

円周率π

Scilabでは円周率πを%piと定義されています。(※MATLABではpi)
-->%pi 
%pi =

3.1415927 
Scilab超入門
Scilab超入門 第1回 Scilabのインストールと簡単な使い方
Scilab超入門 第2回 行列とベクトルの基本
Scilab超入門 第3回 行列式/逆行列/固有値/固有ベクトルを求める関数
Scilab超入門 第4回 ベクトルの大きさ/正規化/連結/等間隔のベクトル(この記事)
Scilab超入門 第5回 plot関数でグラフを描く

http://networkprogramming.blog18.fc2.com/blog-entry-49.html
-->y=ans * 180/%pi
y =

5.2087072

2013/7/2(火) 午前 5:17ogw*og*2返信する

    

顔アイコン

ここで、FLASHにはπに代わる関数「Math.PI」があります。

これを式にあてはめ簡略化します。
ラジアン = (角度 / 360度) * 2 * Math.PI = (角度 / 180) * Math.PI

よって、マニュアル等で見かける角度からラジアンに変換する式は下記になります。
ラジアン = 角度 * Math.PI / 180;

角度は任意の数値を入れる必要があります。

逆に、ラジアンから角度を求める式は下記のとおりです。
角度 = ラジアン * 180 / Math.PI;

最後にある地点からX方向とY方向に一定距離離れた場所にあるムービークリップの角度を求める場合です。

これにはX座標・Y座標を与えるだけで角度を返す関数があります。
角度 = Math.atan2 ( Y座標 , X座標 ) * 180 / Math.PI;

ここで返される角度は-180~180といった数値です。
下記FLASHのボールをドラッグすることで座標と角度の関係を見ることができます。

http://flashrave.org/

2013/7/2(火) 午前 5:17ogw*og*2返信する

    

顔アイコン

Scilabで繰り返し計算: ロジスティック写像

http://gomisai.blog75.fc2.com/blog-entry-529.html

scilabで遊ぼう (3):新適当マイコン電子工作研究所:So-net blog
noritan-micon.blog.so-net.ne.jp/2008-12-31-2

2008/12/31 - WS000199.png. 計算が出来たので、計算結果をグラフ表示してみます。 ... x軸とy軸の周期を調整するといわゆるリサージュ波形を表示させることができます。 -->t=[0:2100] ... 付録 : 「scilab で遊ぼう」索引. scilabで遊ぼう (1) · scilabで遊ぼ ...

2013/7/13(土) 午前 6:17ogw*og*2返信する

    

顔アイコン

[Ctrl+C]
コマンドウインドウで,pause を実行する(またはCtrl-C を押す)と,
http://www.ube-k.ac.jp/~oki/class/SC/H20.pdf


-->

標準レベルのプロンプトに戻るには, 'resume' または 'abort' を入力してください.

-1->

-2->abort

-->

2013/7/13(土) 午前 6:38ogw*og*2返信する

    

顔アイコン

簡易マニュアル
http://aaacafe-archive.wkeya.com/f28/~kenpei/scilab/manu.html

-->deff('z=f(x,y)','z=x^4-y^4')
-->x=-3:0.2:3 ;y=x ;
-->fplot3d(x,y,f)

http://www.suga.net.it-chiba.ac.jp/~ymanabe/scilab/pdf/scilab04.pdf

2013/7/14(日) 午前 6:41ogw*og*2返信する

    

顔アイコン

Engineering and Scientific Computing With Scilab - 163 ページ - Google ブック検索結果
books.google.co.jp/books?isbn=0817640096 - このページを訳す
Claude G??mez - 1999 - Computers
6.3.1 Scilab Representation There are two ways of representing improper systems in state-space form: One is using ... To illustrate this point, consider the following (minimal) realization of the polynomial p(s) = s: Suppose that the matrix E ...

2013/7/14(日) 午後 7:01ogw*og*2返信する

    

顔アイコン

// animation_point.sce

clear; xdel(winsid());

// Create data
t = 0:0.005:1; // Time data
x = sin(2*%pi*t); // Position data

2013/7/19(金) 午後 6:57ogw*og*2返信する

    

顔アイコン

// Draw initial figure
figure(1);
plot(x(1),0,'o');
h_compound = gce();
h_compound.children.mark_size = 20;
h_compound.children.mark_background = 2;
h_axes = gca();
h_axes.data_bounds = [-1.5,-1.5;1.5,1.5];

// Animation Loop
i = 1;
while i<=length(x)
drawlater();
h_compound.children.data = [x(i),0];
drawnow();
i = i+1;
end

http://www.sky-engin.jp/ScilabAnimation/chap03/chap03.html

2013/7/19(金) 午後 6:57ogw*og*2返信する

    

顔アイコン

// make_cylinder_general.sce

clear; xdel(winsid());

// Cylinder specification
r = [1,1,1]; // Reference position
A = [-%pi/3, 0, 0]; // Reference orientation (x-y-z Euler angle)

2013/7/19(金) 午後 7:05ogw*og*2返信する

    

顔アイコン

Radius = 0.1;
Height = 0.3;
SideCount = 20;

// Euler angle -> Orientation matrix
a1 = A(1);
a2 = A(2);
a3 = A(3);

R1 = ...
[1, 0, 0;
0, cos(a1), -sin(a1);
0, sin(a1), cos(a1)];

R2 = ...
[cos(a2), 0, sin(a2);
0, 1, 0;
-sin(a2), 0, cos(a2)];

R3 = ...
[cos(a3), -sin(a3), 0;
sin(a3), cos(a3), 0;
0, 0, 1];

R = R1*R2*R3;

2013/7/19(金) 午後 7:06ogw*og*2返信する

    

顔アイコン

// Vertices
n_side = SideCount;

for i_ver=1:n_side
VertexData_0(i_ver,:) = [Radius*cos(2*%pi/n_side*i_ver),Radius*sin(2*%pi/n_side*i_ver),0];
VertexData_0(n_side+i_ver,:) = [Radius*cos(2*%pi/n_side*i_ver),Radius*sin(2*%pi/n_side*i_ver),Height];
end

2013/7/19(金) 午後 7:07ogw*og*2返信する

    

顔アイコン

n_ver = 2*n_side;

for i_ver=1:n_ver
VertexData(i_ver,:) = r + VertexData_0(i_ver,:)*R';
end

// Side Patches
for i_pat=1:n_side-1
Index_Patch1(i_pat,:) = [i_pat,i_pat+1,i_pat+1+n_side,i_pat+n_side];
end
Index_Patch1(n_side,:) = [n_side,1,1+n_side,2*n_side];

for i_pat=1:n_side

2013/7/19(金) 午後 7:08ogw*og*2返信する

    

顔アイコン

// Side patches data
PatchData1_X(:,i_pat) = VertexData(Index_Patch1(i_pat,:),1);
PatchData1_Y(:,i_pat) = VertexData(Index_Patch1(i_pat,:),2);
PatchData1_Z(:,i_pat) = VertexData(Index_Patch1(i_pat,:),3);
end

// Draw side patches
figure(1);
plot3d(PatchData1_X,PatchData1_Y,PatchData1_Z);
h_fac3d = gce();
h_fac3d.color_mode = 4;
h_fac3d.foreground = 1;
h_fac3d.hiddencolor = 4;

2013/7/19(金) 午後 7:09ogw*og*2返信する

    

顔アイコン

// Bottom Patches
Index_Patch2(1,:) = [1:n_side];
Index_Patch2(2,:) = [n_side+1:2*n_side];

for i_pat=1:2

// Bottom patches data
PatchData2_X(:,i_pat) = VertexData(Index_Patch2(i_pat,:),1);
PatchData2_Y(:,i_pat) = VertexData(Index_Patch2(i_pat,:),2);
PatchData2_Z(:,i_pat) = VertexData(Index_Patch2(i_pat,:),3);
end

2013/7/19(金) 午後 7:10ogw*og*2返信する

    

顔アイコン

// Draw bottom patches
figure(1);
plot3d(PatchData2_X,PatchData2_Y,PatchData2_Z);
h2_fac3d = gce();
h2_fac3d.color_mode = 4;
h2_fac3d.foreground = 1;
h2_fac3d.hiddencolor = 4;

// Axes settings
xlabel("x",'fontsize',2);
ylabel("y",'fontsize',2);
zlabel("z",'fontsize',2);
h_axes = gca();
h_axes.font_size = 2;
h_axes.isoview = "on";
h_axes.box = "off";
h_axes.rotation_angles = [63.5,-127];
h_axes.data_bounds = [0.8,0.9,0.8;1.3,1.4,1.3];
xgrid;

2013/7/19(金) 午後 7:10ogw*og*2返信する

    

顔アイコン

// make_block_general.sce

clear; xdel(winsid());

// Block specification
r = [1,1,1]; // Reference position
A = [-%pi/3, 0, %pi/6]; // Reference orientation (x-y-z Euler angle)

Lx = 0.15;
Ly = 0.05;
Lz = 0.30;

2013/7/19(金) 午後 7:14ogw*og*2返信する

    

顔アイコン

// Euler angle -> Orientation matrix
a1 = A(1);
a2 = A(2);
a3 = A(3);

R1 = ...
[1, 0, 0;
0, cos(a1), -sin(a1);
0, sin(a1), cos(a1)];

R2 = ...
[cos(a2), 0, sin(a2);
0, 1, 0;
-sin(a2), 0, cos(a2)];

R3 = ...
[cos(a3), -sin(a3), 0;
sin(a3), cos(a3), 0;
0, 0, 1];

R = R1*R2*R3;

2013/7/19(金) 午後 7:15ogw*og*2返信する

    

顔アイコン

// Vertices
VertexData_0 = [Lx*ones(8,1),Ly*ones(8,1),Lz*ones(8,1)]...
.*[0,0,0;
1,0,0;
0,1,0;
0,0,1;
1,1,0;
0,1,1;
1,0,1;
1,1,1];

n_ver = 8;

for i_ver=1:n_ver
VertexData(i_ver,:) = r + VertexData_0(i_ver,:)*R';
end

2013/7/19(金) 午後 7:16ogw*og*2返信する

    

顔アイコン

// Patches
Index_Patch = ...
[1,2,5,3;
1,3,6,4;
1,4,7,2;
4,7,8,6;
2,5,8,7;
3,6,8,5];

n_pat = 6;

for i_pat=1:n_pat

// Patches data
PatchData_X(:,i_pat) = VertexData(Index_Patch(i_pat,:),1);
PatchData_Y(:,i_pat) = VertexData(Index_Patch(i_pat,:),2);
PatchData_Z(:,i_pat) = VertexData(Index_Patch(i_pat,:),3);
end

2013/7/19(金) 午後 7:18ogw*og*2返信する

    

顔アイコン

// Draw patches
figure(1);
plot3d(PatchData_X,PatchData_Y,PatchData_Z);
h_fac3d = gce();
h_fac3d.color_mode = 4;
h_fac3d.foreground = 1;
h_fac3d.hiddencolor = 4;

// Axes settings
xlabel("x",'fontsize',2);
ylabel("y",'fontsize',2);
zlabel("z",'fontsize',2);
h_axes = gca();
h_axes.font_size = 2;
h_axes.isoview = "on";
h_axes.box = "off";
h_axes.rotation_angles = [63.5,-127];
h_axes.data_bounds = [0.8,0.9,0.8;1.3,1.4,1.3];
xgrid;

2013/7/19(金) 午後 7:18ogw*og*2返信する

    

顔アイコン

Scilabでアニメーション作成
http://www.sky-engin.jp/ScilabAnimation/index.html

2013/7/19(金) 午後 7:22ogw*og*2返信する

    

顔アイコン

2.三次元座標回転

三次元座標回転は、数学式のとおりで実装しても良いですが、二次元座標回転のアルゴリズムを三回呼び出せば、分かりやすく処理速度も速いです。

2013/7/19(金) 午後 7:54ogw*og*2返信する

    

顔アイコン

void Rotate3(double x1, double y1, double z1, 
double alphaX,double alphaY,double alphaZ, 
double& x2, double& y2, double& z2)
{
//Z Axis Rotation
double x3 = x1 * cos(alphaZ) - y1 * sin(alphaZ);
double y3 = x1 * sin(alphaZ) + y1 * cos(alphaZ);
double z3 = z1;

2013/7/19(金) 午後 7:55ogw*og*2返信する

    

顔アイコン

//Y Axis Rotation
double z4 = z3 * cos(alphaY) - x3 * sin(alphaY);
double x4 = z3 * sin(alphaY) + x3 * cos(alphaY);
double y4 = y3;

//X Axis Rotation
y2 = y4 * cos(alphaX) - z4 * sin(alphaX);
z2 = y4 * sin(alphaX) + z4 * cos(alphaX);
x2 = x4;
}

http://www.softist.com/programming/coor-rot/coor-rot.htm

2013/7/19(金) 午後 7:56ogw*og*2返信する

    

顔アイコン

回転座標の求め方
http://garnote.com/2011/03/post-222.html

2013/7/19(金) 午後 9:23ogw*og*2返信する

    

顔アイコン

I think the reason you are getting a flat surface is because you have yet another typo which effectively makes the summation be zero...

in your numerators, you have Y-2 and 2-Y ...you should have Y+2 and 2-Y

and, for completeness, you may want to put back the division by PI

Read more: http://www.physicsforums.com

2013/11/10(日) 午後 6:25ogw*og*2返信する

    

顔アイコン

Whoops you're right. Well since I took a=2 while it's totally arbitrary, I don't think the 1/pi factor is really relevant.
Using the meshgrid I get a somehow decent surface, but doesn't work well for the plot3d command so far.
Here are 2 screenshots.

http://www.physicsforums.com/showthread.php?t=577993

2013/11/10(日) 午後 6:26ogw*og*2返信する

    

顔アイコン

fp=mopen('H7165321.csv'); //ファイルオープン
txt=mgetl(fp,7); //ヘッダ部分読み込み
data=mfscanf(-1,fp,'%f,%f,%f'); //データ部分読み込み
mclose(fp); //ファイルクローズ

http://hotic.blog129.fc2.com/blog-entry-10.html

2013/11/10(日) 午後 7:25ogw*og*2返信する

 

 

全2ページ

[1] [2]