トップページ⇒tech
43コメント12KB

c言語の問題です。助けてください。

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん NGNG
C言語の問題でこまってます。

r=ルート{jwU(O+jwE)}

z=ルート{jwU/(O+jwE)}


w、U,O,Eはscanfつかいます。
jは虚数です。

さっきからずっと調べてるんですが解法わかりません。
この問題わかる人いたらご鞭撻お願いします。
よろしくお願いいたします。
0002名無しさん@お腹いっぱい。 NGNG
宿題を人に聞くな。
0003しんせつ NGNG
jとwとEをかけてOをたしてそれにjとwとUをかけてからるーとをとりませう。
0004名無しさん@お腹いっぱい。 NGNG
>3
とてもしんせつでわかりやすいですね。
あとはこーどにおとすだけですもんね。
0005名無しさん@お腹いっぱい。 NGNG
まるなげやん。
もう少し努力して見せたら教えて上げるよ。
0006しんせつ NGNG
むぅ、しんせつすぎたか。
0007名無しさん@お腹いっぱい。 NGNG
複素数のルート!?まあがんばれ。C言語というより数学の領域だな。
まあ複素演算ライブラリがあれば、それを呼ぶだけだが。
複素演算ライブラリとはなにかという質問には答えないので念のため。
0008名無しさんi486 NGNG
sqrt(a*exp(jwc)) = sqrt(a)*exp(jwc/2)
0009名無しさん@お腹いっぱい。 NGNG
C的に書くと=ではなく==かもしんないな(ちがうか‥)
0010名無しさん@お腹いっぱい。 NGNG
日ごろプログラムの腕に数学は要らんとほざいているからそういうことになるんだ。
すまん。おれもだ。鬱だ氏のう
0011名無しの笛の踊り NGNG
9に捧げる
=  は代入演算子
== は関係(比較)演算子
いじょ
0012名無しさん@お腹いっぱい。 NGNG
11が一番意味不明。9は8を見て言ってるんでしょ?
0013名無しさん@お腹いっぱい。 NGNG
VisualBasicをやれ!VisualBasicを!
00141 NGNG
確かにまる投げでした、申し訳ありません。
今日は初心者なりに一生懸命やってみました。
めちゃくちゃ間違ってると思いますがご指導お願いします。

/*rとzを求める。*/
#include<stdio.h>
int main (void)
{
double w@`u@`o@`e@`n1@`n2@`n3@`n4;
printf("w@`u@`o@`eの値を入力してください。”);
printf("wの値:");scanf("%lf"@`&w);
printf("uの値:");scanf("%lf"@`&u);
printf("oの値:");scanf("%lf"@`&o);
printf("eの値:");scanf("%lf"@`&e);
n1=-w*w*e*u;
n2=w*u*o;
n3=-u/e;
n4=w*u/o;
complex r@`z;
r=sqrt(complex(n1@`n2));
z=sqrt(complex(n3@`n4));
return(0);
0015名無しさん@お腹いっぱい。 NGNG
>14
この課題はC++でもOKですか?
Cなら complex は使えませんよ。
0016名無しさん@お腹いっぱい。 NGNG
>>14
突っ込み入れます。このプログラムからわかるとこだけ。
・complexって何?定義は?そもそも、これC言語の問題じゃなかった?
・sqrt関数が宣言なしで使われている。math.hをインクルードすること。
・sqrt関数の引数が謎。complex関数?これ、型じゃなかったの?
・最後に"}"が抜けている。
0017名無しさん@お腹いっぱい。 NGNG
>>14
コンパイルしてエラーが出ないか確認できないの?
0018名無しさん@お腹いっぱい。 NGNG
>>14
そもそも計算間違ってるけど?(n3とn4の所)
0019名無しさん@お腹いっぱい。 NGNG
>9 C風に書くとdefineかも。
0020名無しさん@お腹いっぱい。 NGNG
ごりごりやるのしか思いつかない。
α+βi = (x+yi)^2とすると
x^2-y^2 = α、2xy = β となり
x^2 = (α±(α^2+β^2)^(1/2))/2
y^2 = (-α±(α^2+β^2)^(1/2))/2
みたいに解くの? もっとかっこいいやりかたってないの?
0021>20 NGNG
数学に王道なし。
00229 NGNG
>>19
おお、そうかも‥!
しかしあの関係をdefineでどう書きます?

>>11
せっかく捧げていただいたのに申し訳ありません、辞退します。
理由:>>12


002319>22 NGNG
>しかしあの関係をdefineでどう書きます?
をを、それをいわれると… かんがえてませんでした(^^;
00241 NGNG
すいません、やはりまちがいだらけで・・・。w
C言語2日目の自分にはつらすぎます。
>15
UNIXCつかいます。
ってことはC++ではないとおもいます。
>16
図書館でいろんな本ひろげたので違う言語も混じってるのかもしれません。
すいません。
あさって大学でコンパイルします。
C++もかいにいきます。
>18
計算はあってると思いますが・・・。
n3は実数部分n4は虚数部分です。
0025名無しさん@お腹いっぱい。 NGNG
Cは複素数を直接扱えないから、実数部/虚数部を分けて片方づつdoubleで
計算するんだよ。現役の学生なら式の展開はできるだろ(俺はできんが)。
ただrとzも複素数になると思うから(違うのか?わからん)、これも
それぞれ実数部/虚数部に分けて代入することになるだろうな。(構造体は
2日目には無理だと思うので説明せん)
00261 NGNG
>25
それはjを複素数ではなく文字式として考えるということですか?

14のn4=のとこまであってますか?
そっからは本当にわかりません今日1日やってわかりませんでした。
結構難しい問題みたいですね。
それ以降の部分わかる人は教えてください。
0027名無し NGNG
こういうのといた人結構いないんじゃないかな
けっこうむずいよ
0028>20 NGNG
そ、そうか… そうやって解くんだっけ…
結局20さんが一番解答に近いようですね。
0029名無しさん@お腹いっぱい。 NGNG
よくある解き方としては、z=x+jy=r・exp(θ)として√z=√r・exp(θ/2)=√r(cos(θ/2)+jsin(θ/2))
ここでr=√(x^2+y^2)でtanθ=y/x。ここからcos(θ/2)=±√(r+x)/(2r)、sin(θ/2)=±√(r-x)/(2r)
を高校で習う倍角公式で求める。でまとめて√z=±√(r+x)/2±j±√(r-x)/2と
求まる。符号は結構注意して適切なものを選ばないと間違えるよ。
0030名無し NGNG
プログラムの課題なんだから
(rA+j*rI)^2={jwU/(O+jwE)}
(zA+j*zI)^2={jwU/(O+jwE)}
とおいて、実数部、虚数部に別けて4つの式を作った後、
数値解法を使えって事じゃないのかな?
0031無視してくれ NGNG
課題丸なげスレッドでこれだけ盛り上がっているのは
始めてみた。がんばれ。
0032名無しさん@お腹いっぱい。 NGNG
>>31
課題が特殊な上に、質問者に努力の跡がみられるからでしょう。
003318 NGNG
>>24
×:jx/(y+jz)=-x/z+jx/y
○:jx/(y+jz)=jx*(y-jz)/((y+jz)(y-jz))=xz/(y*y+z*z)+jxy/(y*y+z*z)
1はリアル厨房?

C++が使える環境なら
#include<complex.h>
#include<iostream.h>
#define J (complex<double>(0.0@`1.0))
#define oldZ(w@`U@`O@`E) sqrt(-U/E+J*w*U/O)
#define newZ(w@`U@`O@`E) sqrt(J*w*U/(O+J*w*E))
int main(void){
cout<<oldZ(2@`3@`4@`5)<<' '<<newZ(2@`3@`4@`5)<<'\n';
return 0;
}
をコンパイル&実行して「検算」してくだちい。
0034名無しさん@お腹いっぱい。 NGNG
Cの処理系入れたら? windowsならBCCとかフリーであるよ。
0035奥さん、名無しです NGNG
jって何だろな〜。と思いながら見てたら、1でちゃんと宣言されてたね。逝ってきます
0036名無しさん@お腹いっぱい。 NGNG
電気系1回生のプログラム演習課題なんだろうな。
"jω"つかってるあたりがなまなましいね。
回路もしっかり勉強しろよ。こんなんで詰まってるようじゃ先が大変だよ。
0037> NGNG
虚数単位のJに激しい郷愁を感じた。
ナレータ、ノレータが未だに理解できない(かった)
00381 NGNG
皆様方本当に貴重な時間割いていただきありがとうございます。
いつもドキュン系しか見ない自分にとって少し2chの見方変わりました。
>24
すいません、計算勘違いしてました。w
今日はこのプログラムと借りてきた本でいろいろと理解していきたいと思います。
UNIX限定なんですこし変えなければいけないと思いますが、これだけのヒントがあれば何とかなりそうです。

>36
電気系です。
今から精進していきます。w

0039名無しさん@お腹いっぱい。 NGNG
大学でたら使わねーから適当でいいよヽ(´ー`)ノ
0040>38 NGNG
39の言うこときいちゃ駄目!
きっちり精進してください。人工衛星や、
HSST、ドラえもん造ってね。
0041名無しさん@お腹いっぱい。 NGNG
おれ学生の頃
『数学の先生に、サインコサインタンジェントなんて、どうせ将来使わないんだよね』
と、云われたけど、
今の仕事でバリバリ使っていたりする・・・トホホ・・やっときゃ良かった
0042名無しさん@お腹いっぱい。 NGNG
>41
工業系の学校なら「使わない」なんて言葉出てきません。
0043名無しさん@お腹いっぱい。 NGNG
小学校で習った、掛け算の筆算のほうがよっぽど使わないな。
10進数で3桁×3桁の掛け算なんか、筆算でやるきしねー。
■ このスレッドは過去ログ倉庫に格納されています