任務(wù)二:使用python i算算以下計(jì)算題-|||-解方程-|||-4x^4-18x^3+28x^?
【求解答案】x1=2,x2=1,x3=1,x4=0.5
【求解思路】運(yùn)用numpy模塊中的roots求根函數(shù)求解方程。其數(shù)學(xué)原理是
【python計(jì)算代碼】
#utf_8
#步驟1:導(dǎo)入所需的庫(kù)
import numpy as np
#numpy 是用于數(shù)值計(jì)算的 Python 庫(kù),用它來處理方程的數(shù)值計(jì)算部分。
# 步驟2:定義多項(xiàng)式的系數(shù)
p = np.array([4, -18, 28, -18, 4])
# 步驟3:求根
roots = np.roots(p)
# 步驟4:分離實(shí)部和虛部
real_part = np.real(roots)
imaginary_part = np.imag(roots)
# 步驟5:輸出根
for i in range(len(roots)):
if imaginary_part[i] <= 1e-6:
print("x",i+1,":", "{:7.6f}".format(real_part[i]))
else:
print("x",i+1,":", "{:7.6f}".format(roots[i]))
【python運(yùn)行結(jié)果】
【解的驗(yàn)證】
當(dāng)x=2時(shí),4×(2)⁴-18×(2)³ + 28×(2)² -18×(2)+4=64-144+112-36+4=0
當(dāng)x=1時(shí),4×(1)⁴-18×(1)³ + 28×(1)² -18×(1)+4=4-18+28-18+4=0
當(dāng)x=0.5時(shí),4×(0.5)⁴-18×(0.5)³ + 28×(0.5)² -18×(0.5)+4=0.25-2.25+7-9+4=0
驗(yàn)證結(jié)果表明,所求的解是原方程的根。
【本題代碼所需的命令、函數(shù)及語(yǔ)句,及其含義】
1、Import。加載python系統(tǒng)自帶模塊或自定義模塊
2、array。數(shù)組創(chuàng)建函數(shù),numpy庫(kù)中的函數(shù)
3、roots。求根函數(shù),numpy庫(kù)中的函數(shù)
4、real。求復(fù)數(shù)的實(shí)部函數(shù),numpy庫(kù)中的函數(shù)
5、Imag。求復(fù)數(shù)的虛部函數(shù),numpy庫(kù)中的函數(shù)
6、range。生成等差序列函數(shù)
7、print。顯示輸出內(nèi)容,系統(tǒng)自帶函數(shù)
8、format。設(shè)置輸出格式
9、if ...else。if條件語(yǔ)句
使用python的sympy庫(kù)
相關(guān)評(píng)說:
金溪縣銑刀: ______ 以python語(yǔ)言為例: #!/usr/bin/env python # -*- coding: utf-8 -*- #編寫一個(gè)程序,求1到10之間所有偶數(shù)的和及其所有奇數(shù)的和 sum_1 = 0 sum_2 = 0 for i in range(1,11): if (i % 2==0): sum_2=sum_2+i else: sum_1=sum_1+i print "奇數(shù)和是%d" ...
金溪縣銑刀: ______ def call1(x,y): return x+y def calculation(): x=1; y=1 cal = x+y+call1(x,y) print(cal) calculation()
金溪縣銑刀: ______ 1、 使用函數(shù),并使用for循環(huán)計(jì)算結(jié)果;def fra(n): if n < 1: return 1 i = 1 total = 1 for i in range(1,n+1): total *= i return total print fra(5) 2、 使用函數(shù),并使用while循環(huán)結(jié)算結(jié)果; def wxl(n): if n <= 1: return 1 i = 1 m = 1 while i<=n: m *= i i+=1 continue return m print wxl(5)
金溪縣銑刀: ______ 按照你的要求編寫的定義函數(shù)求m~n和的Python語(yǔ)言程序如下 def summary(m,n):s=0 for i in range(m,n+1):s=s+i return s print(summary(200,1000)) print(summary(550,10000)) 源代碼(注意源代碼的縮進(jìn))
金溪縣銑刀: ______ 一年等于“print 60*60*24*365”,結(jié)果可以百度“60*60*24*365”.60秒一分鐘,60分鐘一小時(shí),24小時(shí)一天,365天一年.
金溪縣銑刀: ______ a = eval(input('請(qǐng)輸入月份:')) while not(isinstance(a, int) and 0<a<13): a = eval(input('請(qǐng)輸入正確的月份:')) da = [1,3,5,7,10,12] xiao = [4,6,8,9,11] if (a in da): print(a,'月有31天') elif (a in xiao): print(a,'月有30天') else: n=eval(input('請(qǐng)輸入月所...
金溪縣銑刀: ______ def cal(): numA = float(raw_input('Please enter a number: ')) op = raw_input('Please enter a operator: ') numB = float(raw_input('Please enter another number: ')) if op == '+': print "result: ",numA+numB elif op == '-': print "result: ",numA-...
金溪縣銑刀: ______ 可能你要的只是while的使用方法. 但是從實(shí)際結(jié)果的角度來看這樣寫可能更簡(jiǎn)單明了 print reduce(lambda x,y:x+y,range(101))
金溪縣銑刀: ______ 注意函數(shù)里邊f(xié)or...in...循環(huán)中p1乘的是z,所有結(jié)果是: 3*2*4*4*4=384 如果是p1 = p1*i,則是你理解的那個(gè)式子
金溪縣銑刀: ______ 精度為1就是說float浮點(diǎn)數(shù)小數(shù)點(diǎn)后保留一位小數(shù).# -*- coding=utf8 -*-#實(shí)現(xiàn)(如果保留一位小數(shù)只能算到2**1024,直接計(jì)算2的i次方可以算到10000):for i in range(1024): print '2 **', i, '=', round(2 ** i, 1) for i in range(10000): print '2 **', i, '=', 2 ** i#用戶輸入i i = input() print round(2 ** i, 1)