PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
奇木拉
*停權中*
 
奇木拉的大頭照
 

加入日期: Sep 2020
文章: 7
這個公式是怎麼計算的

X Y
1 27000
2 27900
3 28700
4 29600
5 30500
6 31500
7 32500
8 33500
9 34500
10 35600
11 36700
12 37800
13 39000
14 40200
15 41400
16 42700
17 44000
18 45400
19 46800
20 48300
21 49700
22 51300
23 52900
24 54500
25 56200
26 57900
27 59700
28 61600
29 63500
30 65500
31 67500
32 69600
33 71700
34 73900
35 76200
36 78600
37 81000
38 83500
39 86100
40 88800
41 91500
42 94400
43 97300
44 100300
45 103400
46 106600
47 109900
48 113300
49 116800
50 120400




X 50 怎麼計算 Y 才能變成 120400
     
      
舊 2021-06-16, 09:07 AM #1
回應時引用此文章
奇木拉離線中  
Fly Pig
Silent Member
 

加入日期: Oct 2017
文章: 2
y = 0.2793x3 + 6.253x2 + 874.32x + 26001

用三次方多項式Fitting的
 
上傳的圖像
文件類型: png 擷取.PNG (10.9 KB, 790次瀏覽)
舊 2021-06-16, 10:42 AM #2
回應時引用此文章
Fly Pig離線中  
substar999
Senior Member
 

加入日期: Sep 2001
您的住址: K
文章: 1,448
舊 2021-06-16, 11:24 AM #3
回應時引用此文章
substar999離線中  
hendry2002
Major Member
 
hendry2002的大頭照
 

加入日期: Jan 2008
您的住址: 銀河系
文章: 131
引用:
作者Fly Pig
y = 0.2793x3 + 6.253x2 + 874.32x + 26001

用三次方多項式Fitting的


厲害

跪求大樂透多項式

舊 2021-06-16, 12:19 PM #4
回應時引用此文章
hendry2002離線中  
holisonyy
*停權中*
 

加入日期: Jan 2017
文章: 46
這不就把你貼的串列貼到excel

選多項式fitting,階數越高越準,但越難有學理分析的意義
舊 2021-06-16, 01:01 PM #5
回應時引用此文章
holisonyy離線中  
奇木拉
*停權中*
 
奇木拉的大頭照
 

加入日期: Sep 2020
文章: 7
那換成C語言公式要怎麼寫?
我目前是用土法煉鋼的方式

代碼:
	switch(X) {
		case 1: Y = 27000; break;
		case 2: Y = 27900; break;
		case 3: Y = 28700; break;
		case 4: Y = 29600; break;
		case 5: Y = 30500; break;
		case 6: Y = 31500; break;
		case 7: Y = 32500; break;
		case 8: Y = 33500; break;
		case 9: Y = 34500; break;
		case 10: Y = 35600; break;
		case 11: Y = 36700; break;
		case 12: Y = 37800; break;
		case 13: Y = 39000; break;
		case 14: Y = 40200; break;
		case 15: Y = 41400; break;
		case 16: Y = 42700; break;
		case 17: Y = 44000; break;
		case 18: Y = 45400; break;
		case 19: Y = 46800; break;
		case 20: Y = 48300; break;
		case 21: Y = 49700; break;
		case 22: Y = 51300; break;
		case 23: Y = 52900; break;
		case 24: Y = 54500; break;
		case 25: Y = 56200; break;
		case 26: Y = 57900; break;
		case 27: Y = 59700; break;
		case 28: Y = 61600; break;
		case 29: Y = 63500; break;
		case 30: Y = 65500; break;
		case 31: Y = 67500; break;
		case 32: Y = 69600; break;
		case 33: Y = 71700; break;
		case 34: Y = 73900; break;
		case 35: Y = 76200; break;
		case 36: Y = 78600; break;
		case 37: Y = 81000; break;
		case 38: Y = 83500; break;
		case 39: Y = 86100; break;
		case 40: Y = 88800; break;
		case 41: Y = 91500; break;
		case 42: Y = 94400; break;
		case 43: Y = 97300; break;
		case 44: Y = 100300; break;
		case 45: Y = 103400; break;
		case 46: Y = 106600; break;
		case 47: Y = 109900; break;
		case 48: Y = 113300; break;
		case 49: Y = 116800; break;
		case 50: Y = 120400; break;
		case 51: Y = 124100; break;
		case 52: Y = 128000; break;
		case 53: Y = 131900; break;
		case 54: Y = 136000; break;
		case 55: Y = 140200; break;
		case 56: Y = 144600; break;
		case 57: Y = 149000; break;
		case 58: Y = 153600; break;
		case 59: Y = 158400; break;
		case 60: Y = 163300; break;
		case 61: Y = 168300; break;
		case 62: Y = 173500; break;
		case 63: Y = 178900; break;
		case 64: Y = 184500; break;
		case 65: Y = 190200; break;
		case 66: Y = 196000; break;
		case 67: Y = 202100; break;
		case 68: Y = 208400; break;
		case 69: Y = 214800; break;
		case 70: Y = 221500; break;
		case 71: Y = 228300; break;
		case 72: Y = 235400; break;
		case 73: Y = 242600; break;
		case 74: Y = 250200; break;
		case 75: Y = 257900; break;
		case 76: Y = 265900; break;
		case 77: Y = 274100; break;
		case 78: Y = 282600; break;
		case 79: Y = 291300; break;
		case 80: Y = 300300; break;
		case 81: Y = 309600; break;
		case 82: Y = 319200; break;
		case 83: Y = 329100; break;
		case 84: Y = 339200; break;
		case 85: Y = 349700; break;
		case 86: Y = 360600; break;
		case 87: Y = 371700; break;
		case 88: Y = 383200; break;
		case 89: Y = 395100; break;
		case 90: Y = 407300; break;
		case 91: Y = 419900; break;
		case 92: Y = 432900; break;
		case 93: Y = 446200; break;
		case 94: Y = 460100; break;
		case 95: Y = 474300; break;
		case 96: Y = 489000; break;
		case 97: Y = 504100; break;
		case 98: Y = 519700; break;
		case 99: Y = 535700; break;
		case 100: Y = 552300; break;
		case 101: Y = 569400; break;
		case 102: Y = 587000; break;
		case 103: Y = 605200; break;
		case 104: Y = 623900; break;
		case 105: Y = 643200; break;
		case 106: Y = 663100; break;
		case 107: Y = 683600; break;
		case 108: Y = 704700; break;
		case 109: Y = 726500; break;
		case 110: Y = 749000; break;
		case 111: Y = 772200; break;
		case 112: Y = 796000; break;
		case 113: Y = 820700; break;
		case 114: Y = 846000; break;
		case 115: Y = 872200; break;
		case 116: Y = 899200; break;
		case 117: Y = 927000; break;
		case 118: Y = 955700; break;
		case 119: Y = 985200; break;
		case 120: Y = 1015700; break;
		case 121: Y = 1047100; break;
		case 122: Y = 1079500; break;
		case 123: Y = 1112900; break;
		case 124: Y = 1147300; break;
		case 125: Y = 1182800; break;
		case 126: Y = 1219400; break;
		case 127: Y = 1257100; break;
		case 128: Y = 1296000; break;
		case 129: Y = 1336100; break;
		case 130: Y = 1377400; break;
		case 131: Y = 1420000; break;
		case 132: Y = 1463900; break;
		case 133: Y = 1509200; break;
		case 134: Y = 1555900; break;
		case 135: Y = 1604000; break;
		case 136: Y = 1653600; break;
		case 137: Y = 1704700; break;
		case 138: Y = 1757500; break;
		case 139: Y = 1811800; break;
		case 140: Y = 1867800; break;
		case 141: Y = 1925600; break;
		case 142: Y = 1985200; break;
		case 143: Y = 2046600; break;
		case 144: Y = 2109900; break;
		case 145: Y = 2175100; break;
		case 146: Y = 2242400; break;
		case 147: Y = 2311800; break;
		case 148: Y = 2383300; break;
		case 149: Y = 2457000; break;
		case 150: Y = 2533000; break;
		case 151: Y = 2611300; break;
		case 152: Y = 2692100; break;
		case 153: Y = 2775300; break;
		case 154: Y = 2861200; break;
		case 155: Y = 2949600; break;
		case 156: Y = 3040900; break;
		case 157: Y = 3134900; break;
		case 158: Y = 3231900; break;
		case 159: Y = 3331800; break;
		case 160: Y = 3434900; break;
		case 161: Y = 3541100; break;
		case 162: Y = 3650600; break;
		case 163: Y = 3763600; break;
		case 164: Y = 3880000; break;
		case 165: Y = 4000000; break;
	}



但如果要改變Y 那就得全部在改 很麻煩 所以還是有公式比較好
舊 2021-06-16, 06:58 PM #6
回應時引用此文章
奇木拉離線中  
substar999
Senior Member
 

加入日期: Sep 2001
您的住址: K
文章: 1,448
你要交作業還是工作用的?
不管是哪一種,上面已經給公式了,
要是你還不會寫,我覺得你還是土法煉鋼吧!

引用:
作者奇木拉
那換成C語言公式要怎麼寫?
我目前是用土法煉鋼的方式


switch(X) {
case 1: Y = 27000; break;
case 2: Y = 27900; break;
case 3: Y = 28700; break;
case 4: Y = 29600; break;
case 5: Y = 30500; break;
case 6: Y = 31500; break;
case 7: Y = 32500; break;
case 8: Y = 33500; break;
case 9: Y = 34500; break;
case 10: Y = 35600; break;
case 11: Y = 36700; break;
case 12: Y = 37800; break;
case 13: Y = 39000; break;
case 14: Y = 40200; break;
case 15: Y = 41400; break;
case 16: Y = 42700; break;
case 17: Y = 44000; break;
case 18: Y = 45400; break;
case 19: Y = 46800; break;
case 20: Y = 48300; break;
case 21: Y = 49700; break;
case 22: Y = 51300; break;
case 23: Y = 52900; break;
...
舊 2021-06-16, 08:44 PM #7
回應時引用此文章
substar999離線中  
hendry2002
Major Member
 
hendry2002的大頭照
 

加入日期: Jan 2008
您的住址: 銀河系
文章: 131
如果X只會是integer 且0<X<51

那C語言這樣寫應該執行起來比較快

舊 2021-06-16, 08:57 PM #8
回應時引用此文章
hendry2002離線中  
silent
Major Member
 

加入日期: Dec 2012
文章: 182
引用:
作者奇木拉
那換成C語言公式要怎麼寫?
我目前是用土法煉鋼的方式


switch(X) {
case 1: Y = 27000; break;
case 2: Y = 27900; break;
case 3: Y = 28700; break;
case 4: Y = 29600; break;
case 5: Y = 30500; break;
case 6: Y = 31500; break;
case 7: Y = 32500; break;
case 8: Y = 33500; break;
case 9: Y = 34500; break;
case 10: Y = 35600; break;
case 11: Y = 36700; break;
case 12: Y = 37800; break;
case 13: Y = 39000; break;
case 14: Y = 40200; break;
case 15: Y = 41400; break;
case 16: Y = 42700; break;
case 17: Y = 44000; break;
case 18: Y = 45400; break;
case 19: Y = 46800; break;
case 20: Y = 48300; break;
case 21: Y = 49700; break;
case 22: Y = 51300; break;
case 23: Y = 52900; break;
...

所以你是要一個查找已知固定數據的功能?還是能由X預測(算出)Y的功能?
還是你只是不想每次數據有改就要去改code?
要是這樣就把數字放在其他外部文字檔或什麼.config檔裡,要用時再去讀取,修改也比較方便.
舊 2021-06-16, 10:14 PM #9
回應時引用此文章
silent離線中  
奇木拉
*停權中*
 
奇木拉的大頭照
 

加入日期: Sep 2020
文章: 7
引用:
作者substar999
你要交作業還是工作用的?
不管是哪一種,上面已經給公式了,
要是你還不會寫,我覺得你還是土法煉鋼吧!


自己用的啦,因為那個公式我實在看不太懂

此文章於 2021-06-17 03:51 AM 被 奇木拉 編輯.
舊 2021-06-17, 03:34 AM #10
回應時引用此文章
奇木拉離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是07:03 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2024。