親子におすすめの新型プラネタリウムとは?

matlabのグラフをpowerpointやwordにきれいに貼り付けるにはどうすればいいでしょうか?
bitmapではファイルが大きくなってしまいますし、jpegやemf等では画像が薄くなってしまいます。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

Matlabのグラフは画面では明るく綺麗に見えますが、ファイルとして保存すると、大きな画面(縦横の画素数が極めて多い画像)となり、拡大すれば綺麗に見えます。

ところが画像編集ツールで縮小すると細い線が飛んで消えて決まったり、直接PowerPointにJPEGを貼り付けて画像を縮小して張り付けると「光の加色混合」で白っぽくなってしまいますね。

Matlabで表示されている画像をそのまま切り取って、JPEGで保存すれば、ほぼ原寸貼り付けることになりますので、切り取る前のMatlabの画像がほぼそのままの大きさでPowerPoint上に貼り付けができます。パソコンの画面で綺麗に見えていればPowerPointでも綺麗に見えます。

他のソフトでもいいですが、私は「Paint Shop Pro」を使ってMatlabの表紙グラフをデスクトップ上でちょうど良いサイズに表示させておいて、PaintShopProの「キャプチャ機能」を使ってグラフのウインドウ全体または必要な部分を切り取って、それを多少トリミングしてJPEG保存してPowerPointに貼り付けています。Matlabの画面表示とほぼ同じ見え方でパワーポイントに取り込めます。(MatlabはWindows版を使っています。)
    • good
    • 0
この回答へのお礼

ファイルとしてエクスポートするのではなく、直接画面を切り取ればいいんですね!参考になりました。ありがとうございます!

お礼日時:2005/04/14 01:51

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QMATLABのグラフをファイルに保存する時のサイズ指定方法?

MATLABのグラフをコマンドラインから、jpgで保存する作業をしています。

handle_fig11 = figure(11);
rect = [ 0, 0, 1200, 600];
set(handle_fig11, 'Position', rect);
(描画)
saveas(handle_fig12,'***.jpg');

のように保存しているのですが、保存されたファイルの縦横サイズが1200x600でなく、1563x781になってしまいます。指定した画素数で保存するにはどうすれば良いか教えてください。saveasのオプションは、なさそうですし、どこで決まってしまうのでしょうか?ちなみに、グラフのGUIを使って保存すると、1200x600で保存されますが、コマンドラインから、自動で保存する必要があり、困っております。よろしくお願いします。

Aベストアンサー

set(handle_fig11, 'Position', rect);
-> set(handle_fig11, 'PaperPosition', rect);
にすると良いです。

saveasで主力される画像サイズは、プリントアウト時のサイズと同じなので'PaperPosition'で設定します。あと、'PaperUnits'にも注意しましょう(こちらがあっていないのかも)。

詳細は、参考URLの後半にある
参考)プリントアウトに関するFigureプロパティ
以降を参照してください。

参考URL:http://www.cybernet.co.jp/matlab/support/techkwdb/search_view.php?id=1017

QMATLABのグラフで軸目盛りのフォントサイズを大きくする方法?

MATLABのplotグラフで、
xlabel、ylabel、titleなどは、
FontSizeプロパティの指定により、
サイズを簡単に変更できるのですが、

軸の目盛りのフォントサイズを変更する方法が分からず
困っています。どなたか、キーワード、参考URLなど
ご教示頂ければありがたいです。よろしくお願いします。

Aベストアンサー

set(gca,’FontSize’,14);
とかすれば、よいのでは。
いま、matlabを使える環境にないので、もしかしたら間違っているかもしれませんが。

get(gcf)
とか、すれば、図のプロパティ一覧が得られます。
get(gca)
とかやると、軸のプロパティ一覧が得られます。
それっぽいやつを、set()で変更すればよいです。

QMatlabでforやifを使わずに条件に合う行番号の抜き出し方

仮にA=[1 0 1 0 0 1]の行ベクトルがあったとします。
forやifを使わずにAにおいて1が入っている行番号(この場合では1,2,5)を抜き出すにはどうしたらいいのでしょうか。よろしくお願いします。

Aベストアンサー

index = find(A == 1);

で大丈夫かと。

QMATLABのCSV形式での書き込みについて

MATLABにて計算させた結果をCSV形式で出力したいのですが,
もともとCSVファイルに書き込んであるデータを消さずに,
追加書き込みとして,行と列を指定して書き込み出来るのでしょうか?

もしできるのであれば,
どのようなプログラムを組めばよいのでしょうか?
どなたかご教授お願いします.

Aベストアンサー

speedとpowerはdouble型の行列ですよね?

fwrite関数はバイナリ保存関数ですので、CSV形式(=テキスト形式)での保存はできません。
dlmwrite関数では小数点以下12桁までを指定して保存していますので、fprintf関数を使用すれば良いのではないかと思います。
なお、fprintf関数を使用する場合は、区切文字(,)や改行は自動で追加されませんので、以下のように記述する必要があります。

fprintf(fid, '%.12f,', speed);
fprintf(fid, '\n');
fprintf(fid, '%.12f,', power);
fprintf(fid, '\n');

ただ、この方法では各行の末尾にもカンマが出力されますので、それを抑止したい場合は、speedとpowerの各要素をループの中で保存してください。

■ fprintf関数
http://infoshako.sk.tsukuba.ac.jp/InfoRes/jdoc/MATLAB5/jhelp/techdoc/ref/fprintf.html


また、プログラムではfor文の中でfopenとfcloseを繰り返していますが、余り良いことではありません。見たところファイル名は一定のようですので、fopenとfcloseはfor文の外でするべきだと思います。そうすれば処理速度も向上しますし、別に追記でfopenする必要もありません。

fid = fopen('file1.csv', 'w');
for
fprintf(fid, ....);
end
fclose(fid);


最後に、この場合はファイルの出力方法を変更する以外に、speedとpowerをループ回数分保存するように変更する方法もあるのではないかと思います。

speedとpowerはdouble型の行列ですよね?

fwrite関数はバイナリ保存関数ですので、CSV形式(=テキスト形式)での保存はできません。
dlmwrite関数では小数点以下12桁までを指定して保存していますので、fprintf関数を使用すれば良いのではないかと思います。
なお、fprintf関数を使用する場合は、区切文字(,)や改行は自動で追加されませんので、以下のように記述する必要があります。

fprintf(fid, '%.12f,', speed);
fprintf(fid, '\n');
fprintf(fid, '%.12f,', power);
fprintf(fid, '\n');

た...続きを読む

QMATLABのsaveでファイル名を試行ごとに変えたい

MATLABを使ってるんですが,変数を保存するとき,
saveコマンドで,
save 'filename.txt' A -ASCII -TABS
で,Aのデータがfilename.txtに保存されますよね.
で,このfilenameの名前を試行ごとに変えたいのですが,やりかたが分からないので教えてほしいです.
想像だと,
save 'filename%d.txt' ~
みたいな感じで毎回違う数字をファイル名に入力できるかと考えたんですが,書き方がわかりませんでした.

もしくは,ファイルを出力するフォルダを指定する方法などもわかるとうれしいです.

お願いします.

Aベストアンサー

自分で作ったプログラムソースから抜粋しました。

自分は画像処理を行って、画像330枚をひとつのディレクトリに
書き出しています。

d = dir('cars/*.jpg');

こうすることで、カレントディレクトリにあるcarsというディレクトリ
のファイル(.jpg)の情報を全て構造体として d に書き出します。
あらかじめcarsを作っておきます
構造体の中身は
d.name 'car0004.jpg' //ファイル名
d.data '25-9-2008...'//日付
d.byte '4996' //バイト
d.isdir '0'
d.num 7.4e^...
といった情報が入っています。実際に試してみてください。

maisu=1;
kakidashi=['kensa330/' d(maisu).name];

これでkensa330というフォルダの位置と名前を指定することができます。
workspaceには kakidasi='kensa330/car0004.jpg'となります。

maisuをfor文などでまわすことでcar0001.jpg car0002.jpg ...
と順次新しく変換されます。

あとはがんばってください。

自分で作ったプログラムソースから抜粋しました。

自分は画像処理を行って、画像330枚をひとつのディレクトリに
書き出しています。

d = dir('cars/*.jpg');

こうすることで、カレントディレクトリにあるcarsというディレクトリ
のファイル(.jpg)の情報を全て構造体として d に書き出します。
あらかじめcarsを作っておきます
構造体の中身は
d.name 'car0004.jpg' //ファイル名
d.data '25-9-2008...'//日付
d.byte '4996' //バイト
d.isdir '0'
d.num 7.4e^.....続きを読む

QMATLAB で 連番処理をしたい

matalabで画像処理をしたいのですが、 同じ処理を複数回、違う変数に対して行いたいのですがやり方がよくわからりません。

たとえば、
[output1 ,model_color1] = func_AAAA( imgdata,center1);
[output2 ,model_color2] = func_AAAA( imgdata,center2);

[output10 ,model_color10] = func_AAAA( imgdata,center10);
というようなことを行いたいのですが、
いちいち全部記述すると
output5までしかいらない時にわざわざ6~10を消さなければならないので
for文を使って書けるようにしたいと考えています
イメージとしては下のように処理したいのですがこれでは当然エラーになります。
for NUM=1:10
[outputNUM ,model_colorNUM] = func_AAAA( imgdata,centerNUM);
end

num2strを使えばできそうな感じがするのですがどのようにすればよいでしょうか?
お願いします

matalabで画像処理をしたいのですが、 同じ処理を複数回、違う変数に対して行いたいのですがやり方がよくわからりません。

たとえば、
[output1 ,model_color1] = func_AAAA( imgdata,center1);
[output2 ,model_color2] = func_AAAA( imgdata,center2);

[output10 ,model_color10] = func_AAAA( imgdata,center10);
というようなことを行いたいのですが、
いちいち全部記述すると
output5までしかいらない時にわざわざ6~10を消さなければならないので
for文を使って書けるようにしたいと考えています
...続きを読む

Aベストアンサー

cell array を使って,

for NUM=1:10
[output{NUM} ,model_color{NUM}] = func_AAAA( imgdata,center{NUM});
end

こんな感じに書けば,loop できる

doc の matlab-> Programing -> Data Types -> Cell Arrays
辺りを参考にすること.

QEXCELにてローパスフィルタを作成する

実験の測定データをEXCELでデータ整理しようと考えております。データ整理のためローパスフィルタをかけたいのですが、具体的にどういった式、もしくはEXCELの機能を使用したらいいのでしょうか?デジタルフィルタが良く分からないのでよろしくお願いします。
ちなみにローパスフィルタは1000Hzをかけたいです。

Aベストアンサー

時系列データの処理ならば

OutputData(n+1) = OutputData(n) + (InputData(n+1) - OutputData(n)) * dt / T

dt:データのサンプリング間隔
T:フィルタの時定数 1/2πf
f:カットオフ周波数
n,n+1:それぞれn個目,n+1個目のデータをしめす。

でいけると思いますが、一次のパッシブなんで効果が薄いかも。(普通はベッセルかけるんでしょうけど、そこまではわからない)

QSimulinkの外部入力について

Simulinkで信号を処理するシステムを作っていますが、信号を外部からそのシステムへ入力する方法が分からなく困っています。どのようにすればよいでしょうか?

Aベストアンサー

#1です。

> workspaceにそのwavファイルを入れて、
> Inportブロックをつければ良いということですか?

はい。それでできます。
ちなみにworkspaceへはwavread で読み込めます。
・wavを読み込む。
・サンプリングや時間の変数を設定する。
・シミュレーションを実行する。
といった作業をスクリプト(mファイル)で作成しておくと楽です。

QMatlab 指定したディレクトリからのload

Matlab初心者です、よろしくお願いします。

Matlabであるmatファイルを1000個作りました。それぞれのファイル名は1~1000.matのような感じです。
中身はすべて7*250の配列で、それぞれ異なる値が入っています。
これまではfor文を使ってiをstring型にしてからloadで読み込んで、値を用いて計算するのを繰り返していました。

しかしこのままカレントディレクトリに1000個もmatファイル置いておくと、とても作業がしづらく邪魔です。

例えばこれを1つにまとめて使う方法や、うまいload方法、違うディレクトリを作成して、load時のみそのディレクトリを参照する方法などありましたら、ご教授していただけると助かります。

よろしくお願いします。

Aベストアンサー

load foo/10.dat
とか書けば,subdirectory foo を見に行くし.
load ../foo/10.dat
とかかけば,1こ上のディレクトリの下の foo ディレクトリのデータを読むし,

ウィンドウズなら,
load d:/Temp/10.dat
で d ドライブ Temp ディレクトリの 10.dat を load します.

QMATLABのGUI、画像表示について

GUIDEで設計したGUIのaxes1に画像を表示させようとしているのですが、

simulink上のMファイルに

a = imread('a.jpg');
image(a);

のようにimageを記述して、GUI上のオブジェクトを指定するにはどうしたらよいのでしょうか??

新たにfigureを立ち上げるのではなく、GUIに表示させる方法がわからず困っています。

初心者なのでわからないことだらけですが、よろしくお願いします!

Aベストアンサー

>初心者なのでわからないことだらけですが、よろしくお願いします!
というか初心者でいきなりGUIDEとかを使えてる時点で十分すごいと思うんですが。私自身GUIDEをそれなりに使えるようになるまでには結構時間かかりましたから。

さて、imageを現在あるaxesに貼り付けたいということでしたら、imageプロパティの中にParentという項目があるので、そこを貼り付けたい軸にしてやればできるはずです(現在Matlabが動かせる状況にいないので100%の保証はしませんが)

ただ、確かimage(X,Y,C,'PropertyName',PropertyValue)という書き方にする必要があった(気がする)ので、XとYも仕入れておく必要があります。といっても、大事なのは最大値と最小値だけですし、C(imageデータ)だとしてsize(C)とすればCに入っている第一成分が縦(つまりYの長さ)、第二成分が横になりますのでそこから求めてもかまいません。
あと、parentを直接指定する書き方をした場合、y軸が反転しないまま(yの値が小さい方が下。単にimage(C)とした時はyの値が小さい方が上になるよう自動調整されている)なので、set(axes1,'Ydir','Reverse')としてy軸を反転させる必要があります。

いろいろごちゃごちゃ書いてすみません。分からないところ等あればその旨補足いただければと思います。

参考になれば幸いです。

>初心者なのでわからないことだらけですが、よろしくお願いします!
というか初心者でいきなりGUIDEとかを使えてる時点で十分すごいと思うんですが。私自身GUIDEをそれなりに使えるようになるまでには結構時間かかりましたから。

さて、imageを現在あるaxesに貼り付けたいということでしたら、imageプロパティの中にParentという項目があるので、そこを貼り付けたい軸にしてやればできるはずです(現在Matlabが動かせる状況にいないので100%の保証はしませんが)

ただ、確かimage(X,Y,C,'PropertyName',Proper...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング