153 :
昨日からはじめた人 :2009/01/12(月) 00:14:39 ID:+ATel+I1
ちょっと質問が正しくなかったので訂正します。 変数に計算結果の行列を入れたいのですが、それに条件を入れたいのです。 たとえば、xの範囲を-πからπまで101ポイント取るとして、 y=sin(x)として ynの結果が0以下であったならynの値を強制的に0とする.. といった感じにしたいのです。 よろしくお願いします。
154 :
名無しさん@3周年 :2009/01/12(月) 00:17:14 ID:YmhqvdsU
y .* (y<0) みたいなので
155 :
昨日からはじめた人 :2009/01/12(月) 00:47:17 ID:+ATel+I1
できますた。 ありがとうございます。
156 :
155 :2009/01/12(月) 17:34:35 ID:+ATel+I1
ちなみにWindowsのユーザー名が2バイト文字だと起動しないようですね。 修正ができず、新たに1カウント作っちゃいましたよ。
157 :
昨日からはじめた人 :2009/01/12(月) 19:53:58 ID:+ATel+I1
度々すみません・・・ 演習として、ガウシアン分布の3Dプロット図を作ろうとしましたが、 xとyをマトリクスで演算させる方法がわかりません...。 d=0.5 x=[-2:0.01:2]'; y=[-2:0.01:2]'; z=exp(-2*((x/d)^2+(y/d)^2)); clf() plot3d(x,y,z,) よろしくご指南ください m(__)m
158 :
昨日からはじめた人 :2009/01/12(月) 20:03:44 ID:+ATel+I1
追記 要するに、xとyの行列同士のマトリクスの計算結果をzに入れたいのです。
159 :
名無しさん@3周年 :2009/01/12(月) 23:26:20 ID:YmhqvdsU
160 :
昨日からはじめた人 :2009/01/13(火) 00:37:49 ID:Gh1DJUVm
うーん、せっかくですがわかりません...
d=0.5 x=[-2:0.1:2]; y=[-2:0.1:2]; z=exp(-2*((x/d)^2+(y/d)^2)); clf() plot3d(x,y,z,) for iy=1:length(y) for ix=1:length(x) z(iy,ix)=exp(-2*((x(ix)/d)^2+(y(iy)/d)^2)); end end plot3d(x,y,z)
>161 ありがとうございます。 参考にさせて頂きます。 一応努力してみました。 clear d=0.5; x = linspace(-2,2,101); y = linspace(-2,2,101); [X,Y] = ndgrid(x,y); deff("z=f(x,y)","z=exp(-2*(x.^2/d+y.^2/d ))"); Z=f(X,Y); plot3d(x,y,Z)
>161 要約すると clear d=0.5 x=[-2:0.1:2]; y=[-2:0.1:2]; clf() for iy=1:length(y) for ix=1:length(x) z(iy,ix)=exp(-2*((x(ix)/d)^2+(y(iy)/d)^2)); end end plot3d(x,y,z) こうですね。
申し訳ないのですが Nクイーン問題をC言語ではなくScilabを使って解くやり方を教えてください。。。
165 :
名無しさん@3周年 :2009/08/04(火) 22:26:22 ID:ulGsLK4m
おお。まさか機械工学板に立ってるとは。
>>166 昔は、電電板とかシミュレーション板がなかったんでなー
>>167 そうだったんすか。古いスレですね
今期から授業で使う事になったんで9月頃から導入しました
先日何となくググったら2000年くらいのスレが見つかって、
そこからこのスレをようやく見つけたところです
169 :
名無しさん@3周年 :2009/11/23(月) 19:03:09 ID:rEG86hTV
>>169 ありがとうございます。色々見て回ってみます。
まだ数理統計の簡単な計算をすこし始めたところで、
質問や手助けできる事もあまりないですが、大変参考になります。
171 :
名無しさん@3周年 :2009/11/24(火) 00:34:34 ID:Jo5X+w17
>>171 ありがとうございます!
さうは一人で持ちきれぬ
ヨイヨイ。
173 :
名無しさん@3周年 :2009/11/26(木) 23:33:18 ID:Q4dEOwxg
SIVPでAVIファイル作成するときavifileを使用すると エラーが出てしまうのですが対応方法ないでしょうか。
174 :
名無しさん@3周年 :2010/01/20(水) 15:55:02 ID:sHka/2tm
MatlabからScilabに書き換えてるのですが,以下のエラーの解決策が分かる方がいましたら,教えてください. <以下エラーの内容> ii = 2. !--error 144 与えられたオペランドのための不確定の操作です。 負荷をかけすぎる関数 %s_3_s 定義、または、チェックです。 at line 34 of function bilinear called by : -d2(ii),d1(ii-1)-d2(ii-1),F1(ii-1),in1,st1,va1) at line 413 of exec file called by : exec(%fileToExec); disp(msprintf(gettext("Execution done.\n"))); while executing a callback どうやら,whileループでfunctionを実行しようとしたら1回目は回るのですが,2回目のループで引っかかるようで,Matlabでは上手く回るので,functionやmainに間違いは無いと思います. どなたか分かる方がいましたらよろしくお願いします.
175 :
名無しさん@3周年 :2010/01/20(水) 19:37:27 ID:IeUNBLEE
>>174 元のプログラムを載せないで、わかるやつがいたとしたら、そいつは悪魔と思わないのか?
176 :
名無しさん@3周年 :2010/01/21(木) 17:53:56 ID:HL/y7STt
過疎ってますね...。質問なんですが、小数点で数字を0.1ではなく0.10のように表示するにはどうすればいいんでしょうか?
177 :
名無しさん@3周年 :2010/01/22(金) 00:42:37 ID:iyxzOJ57
>>176 -->printf("%7.2f",0.1)
0.10
178 :
名無しさん@3周年 :2010/01/22(金) 16:11:49 ID:mZLwzyPr
>>175 すみません,プログラムの権利の問題上全て載せるわけにはいかないですが,
引っかかってるところを載せます.
abs_dd = abs(dd)
is = 2;
if (ds <= 0) then
is = 1;
end;
sn = (is+is-3);
select (st.ll)
Whileループの中の関数のプログラムの一部で,どうやらifの条件式のところで引っかかってるようです.
179 :
名無しさん@3周年 :2010/01/25(月) 17:45:49 ID:2Pb1QDme
>>177 遅れましたが、ありがとうございました。無事解決しました。
180 :
名無しさん@3周年 :2010/01/28(木) 01:34:21 ID:uh1fpJvM
>>178 解決したかい?
-->a = sqrt(-1)
a =
i
-->a <= 0
!--error 144
与えられたオペランドのための不確定の操作です。
負荷をかけすぎる関数 %s_3_s 定義、または、チェックです。
-->A = cell(2,2)
A =
!{} {} !
! !
!{} {} !
-->A <= 0
!--error 144
与えられたオペランドのための不確定の操作です。
負荷をかけすぎる関数 %ce_3_s 定義、または、チェックです。
とかあやしいいかも!
181 :
名無しさん@3周年 :2010/02/01(月) 22:08:42 ID:9NeAN59d
A=[1,2,3,4,5,6,7,8,9] の行列があるとき、三つごとの平均を出すにはどうすればいい? B1=2 B2=5 B3=8 みたいに出したい。
182 :
名無しさん@3周年 :2010/02/02(火) 01:14:02 ID:ElKSgX7+
>>181 エレガントにやってもいいが、
てっとりばやくやるのなら、 for ループで回すほうが速いかな
183 :
名無しさん@3周年 :2010/02/02(火) 09:02:48 ID:caO7N3gM
>>180 すみません遅くなりましたが,無事解決いたしました.
原因は,dsが複素数になっていたらしく,if文の条件式で判定できなかったようです.
real(ds)にすることで無事に解決できました.
ありがとうございました.
Scilab6はいつころ出るかな。。。 予想では1.5年後くらいか。。
http://www.scilab.org/products/scilab/roadmap Major Scilab 6 Family Objectives
より、期待できるのは、次の改良点か。
・New kernel (interpretor, syntax tree, memory management ...)
Fortran風の言語仕様を排除するらしい。
・Generator of C code
Enable Scilab to generate C code from Scilab script for embedded systems
ScilabからC言語コードを吐き出してくれると、確かにうれしい。
>>185 Scilab5.2.0winでScilab2Cを試してみたんだがエラーでCコードは生成できなかった
おまいらもやってみてよ
高階関数って使えます? f(x) = ax+b g(x) = gx+b とあるときに f(g(x))を関数として出力したいんですけど
188 :
186 :2010/04/23(金) 17:08:51 ID:s2MT2wIy
できました有難うございました
190 :
名無しさん@3周年 :2010/04/24(土) 08:36:32 ID:EC7SSe3P
191 :
名無しさん@3周年 :2010/05/10(月) 21:41:26 ID:n+KRhqro
複数の変数に一度に代入する方法はないだろうか? 関数だったら ------------------------- function [x,y] = myfunc( a ) x = a*2; y = a*3; endfunction [m, n ]= myfunc(5) ------------------------- でOKだけど、 ------------------------- [x, y] = [3, 8]; ------------------------- はエラーなる。 どうしてだろう? ベクトルとして、一度に複数の変数に値をセットできると、すっきりするのだが。
192 :
名無しさん@3周年 :2010/05/12(水) 20:05:19 ID:pYRZIkNv
えーっと、ス、ス、スシラブ
193 :
名無しさん@3周年 :2010/05/14(金) 20:42:58 ID:FyjEHlLi
Scilabは、サイラブ と呼びます。 もしくはサイラボ。
194 :
名無しさん@3周年 :2010/06/10(木) 23:55:13 ID:qlf27Rz7
scilabの正当後継は scilabなのかscicoslabなのか、 どっちなんだ?
誤差の2乗面積が最小になる関数をscilabで数値探索で求めたいのですが やり方が分かりません。
>>195 > 誤差の2乗面積が最小になる関数をscilabで数値探索で求めたいのですが
> やり方が分かりません。
具体的に、どんな問題?
式を立てられないのはScilabの問題ではないよね。matlabでも同じだろう。
>>198 初期のVer5,0のころに比べ
ver5.3 は動作が速くなった気がする。
Scilab 5.3.0とか、Windows7 Professionl 64bitにいれているんだけど、 64bit版も、32bit版もキーボードの入力を受け付けなくて、 なんにもできない状態なんですが、何が間違っていますか?
>>200 とりあえず、当方 WinXP(32bit)で Scilab5.3 beta2 は、それなりに動いています。
まだ、動作不安定なところがあるけど、Ver5.0のころと比べると、確実に安定かつ速くなっている。
202 :
名無しさん@3周年 :
2010/08/29(日) 23:50:18 ID:quRaKJ/J >>200 scicoslab にしろ。
これで全部解決だ