質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Octave

Octaveは、数値解析のための高レベルのプログラミング言語です。主に理工系の技術者・研究者が使用しており、フリーで使うことが可能。線形もしくは非線形問題を数値的に解くCLIを提供します。

Q&A

解決済

2回答

889閲覧

GNU Octaveにおいて、mファイルの修正方法を知りたい。

CSKYH

総合スコア1

Octave

Octaveは、数値解析のための高レベルのプログラミング言語です。主に理工系の技術者・研究者が使用しており、フリーで使うことが可能。線形もしくは非線形問題を数値的に解くCLIを提供します。

0グッド

0クリップ

投稿2020/06/23 07:57

編集2020/06/23 15:14

GNU Octaveを用いて次のmファイルを実行し、実行結果1のようになるには何処を修正すれば良いのか分かりません。

clc; a=6;b=3; x=round(10*rand(a,b)) y=zeros(a,b); for i=1:X, for j=1:b, if x(i,j) y(i,j) end end end disp('y=');disp(y);

実行結果1
x=
3 3 8
8 2 6
3 3 5
8 6 9
2 5 3
9 4 8

具体的な修正方法を教えていただきますよう宜しくお願い致します。

※追記
ご回答の通りプログラムしましたが、画像のように実行結果1のようにはなりませんでした。

プログラム詳細
実行結果詳細

※再追記
物的証拠となる画像を追加いたしました。
物的証拠

※再々追記
問題文を含めた画像を追加いたしました。
画像

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

thkana

2020/06/23 08:10

Cは関係ないので、タグは外しておいてください。
CSKYH

2020/06/23 08:14

只今修正いたしました。
CSKYH

2020/06/23 12:39 編集

場所を間違えたので下記の回答の方に再度コメントいたしました。
guest

回答2

0

自己解決

Xをaに変換し、7,8行目を
if x(i,j)>=6
y(i,j)=1
に変換してプログラムを入力した。

投稿2020/06/25 07:34

CSKYH

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

clc; a=6;b=3; x=round(10*rand(a,b)); disp('x=');disp(x);

で実行結果のようになると言えばなりますが...そういう話なのでしょうか?

投稿2020/06/23 08:07

thkana

総合スコア7703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CSKYH

2020/06/23 08:33

これは回答の4行分のみプログラムするということでしょうか。もしそうであれば、上記のプログラムは基本そのままで修正していただきたいです。 ヒントとして、「〇行目のXを〇(半角アルファベット)に書き換える修正を行えば良い」という文言があるのですが、これも参考にしていただけますでしょうか。
thkana

2020/06/23 08:55

元のプログラムの 4~11行目をまるっと削除して、 12行目のyをxに書き変えて(2箇所)、 dospという謎の命令?をdispに変更しました。 ...ではだめですか? では、4~11行目は削除しなくてもいいです。全くの無駄...というか一箇所エラーがあるのでそこは修正してください。 5行目のXはxに書き換えて 12行目のyをxに書き変えて(2箇所)、 dospという謎の命令?をdispに変更 でいかがでしょう。多少余計な表示が出ますが。
thkana

2020/06/23 09:02

「余計な表示」がいやなら、8行目の行頭に#を追加してコメントにすればよさそうですね。それだったら4~11行目の先頭に全部#を付けてもいいのか。意味は削除と同じですけれど。
CSKYH

2020/06/23 11:19

dospは打ちミスです。すみません。
CSKYH

2020/06/23 11:35

実際に入力してみましたが、画像のようになりました。
thkana

2020/06/23 12:18

あなたがプログラムを間違えているからです。 質問では6行目が for j=i:b, ですが、スクリーンショットでは for j=1:b, になっています。 どちらが間違いでどちらが正しいのか私には知りようがありませんが。
CSKYH

2020/06/23 12:38

すみません。1ですので画像の方が合っています。質問内容については即時修正いたします。
thkana

2020/06/23 12:48

dospとi、それ以外には間違いはありませんか? 設問の提示が間違っているのでは話になりません。 一文字一文字、確認してください。 > 4~11行目をまるっと削除して、 なんていう事態は設問の写し間違いに起因しているんじゃないかと強く疑います。 2度あることは3度ある。一文字たりとも間違いはない、と断言されるまではやりとりを停止します。
CSKYH

2020/06/23 13:09

間違いは無いと思います。物的証拠として、プログラムの画像を追加いたしました。実行結果2については無視してください。
thkana

2020/06/23 13:14 編集

あの...実行結果2ってなんですか? ってコメントがついてましたか。しかし、それを無視して話が成り立つのかしら?
thkana

2020/06/23 13:24

なにをやらなきゃいけないのかの設問に関わる文章と、ヒントなどの付帯情報も全てみせていただけませんか? その上でなければ意味のある回答ができなさそうな気がしてきました。
CSKYH

2020/06/23 15:15

画像追加しました
thkana

2020/06/23 23:41

やっぱり...原文を読むと全然話が違ってくるじゃないですか... 他にも露骨な打ち間違いがあるのでXも打ち間違いかと思ってましたけど、Xのところを置き換えろ、それ「だけ」の問題ですね? そこには変数か定数しか入る可能性はないし、アルファベットと言っているのだから変数でしかないし、登場している変数はa,b,x,yしかないのだから、それぞれ試してみてはいかがですか? 問題がおかしいのでそれだけで実行結果1のように表示されることはありませんが。 (これは質問者さんの責ではないですが、出題者がそもそもおかしい。8行目がy(i,j)=x(i,j);で、12行目で'y='なんて余計なことを書かなければ問題として成り立ったでしょうけれど。)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問